求助!!!!

给你一个正整数x,你需要将这个数写成n个正整数的和,这些正整数的数位只包含0和1。给定x,输出n的最小值。

#include<bits/stdc++.h> using namespace std; int main() { long long x; cin >> x; int l[1000]; int i = 0; int n = 0; while (x > 1) { l[i] = x % 10; i++; x = x / 10; } for (int j = 0; j <= i; j++) { if (n < l[j]) { n = l[j]; } } cout << n << endl; return 0;

}

这里哪里有问题求赐教,新手小白在线求教。。

全部评论
因为每个数位只有1(放)和0(不放),所以个数n最小就能放就放快速拼出来,所以每个数位直接求最大值。不知道数据范围不知道行不行,你可以试试 int main()  {  char ans='0&(30533)#39;; char a; while(cin>>a) ans=max(ans,a); cout<<ans; return 0; }
1 回复 分享
发布于 2024-11-17 11:37 四川

相关推荐

想踩缝纫机的小师弟练...:不理解你们这些人,要放记录就把对方公司名字放出来啊。不然怎么网暴他们
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务