小小..小新手的简单题目;
链接:https://ac.nowcoder.com/acm/problem/21803
来源:牛客网
请问如何控制每一次进位都输出低位内容,直到找到不进位的位数。
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
牛牛刚学完排序,他准备拿n个数一展身手,但是他发现现实中的排序与课堂里的排序不一样
每次他只能对连续的n-1个数进行从小到大的排序
请问牛牛最少需要几次排序能将所有的数排成有序的
每次他只能对连续的n-1个数进行从小到大的排序
请问牛牛最少需要几次排序能将所有的数排成有序的
输入描述:
第一行先输入一个整数n (3 ≤ ≤ 50) 第二行输入n个整数范围在1到1000以内
输出描述:
输出一个整数
备注:
子任务1:n <= 10 子任务2:n <= 20 子任务3:无限制
代码如下(我只判断了sum和分别的a,b。简单说,就是不会这题...wuwuwu):
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
long long a,b,sum=0,ans;
long long k=0,j=0,t=1;
scanf("%ld",&a);
getchar();
scanf("%ld",&b);
sum=a+b;
ans=sum;
a>b ? :a=b;
while(sum>=1)
{
sum/=10;
k++;
}
while(a>=1)
{
a/=10;
j++;
}
if(k>j)
{
while(j--)
{
t*=10;
}
cout<<ans%t;
}
else
cout<<ans;
return 0;
}
#include <iostream>
using namespace std;
int main()
{
long long a,b,sum=0,ans;
long long k=0,j=0,t=1;
scanf("%ld",&a);
getchar();
scanf("%ld",&b);
sum=a+b;
ans=sum;
a>b ? :a=b;
while(sum>=1)
{
sum/=10;
k++;
}
while(a>=1)
{
a/=10;
j++;
}
if(k>j)
{
while(j--)
{
t*=10;
}
cout<<ans%t;
}
else
cout<<ans;
return 0;
}
虚心求教,感谢解答!!
全部评论
(0) 回帖