xtu oj 1055 整数分类
2023-12-25 23:42:09
Description | ||
按照下面方法对整数x进行分类:如果x是一个个位数,则x属于x类;否则将x的各位上的数码累加,得到一个新的x,依次迭代,可以得到x的所属类。比如说24,2+4=6,则24的类别数是6;39,3+9=12,1+2=3,则39的类别数是3。 输入???????每行输入一个非负整数n,n≤10500,n为0时结束。 输出???????每行输出对应整数的分类数。 | ||
Sample Input | ||
24 39 0 |
AC代码
#include<stdio.h>
#include<string.h>
int main()
{
char s[501];
while(scanf("%s",&s)!=EOF){
int i,len=strlen(s),sum=0,n;
if(s[0]=='0'&&len==1)break;
if(s[0]!='0'&&len==1)printf("%d\n",s[0]-'0');
else{
n=0;
for(i=0;i<len;i++){
n+=(s[i]-'0');
}
if(n<10)printf("%d\n",n);
while(n>=10){
int a[1005]={};
int j,cnt=0;
while(n!=0){
a[cnt]=n%10;
n/=10;
cnt++;
}
for(i=0;i<cnt;i++){
n+=a[i];
}
if(n<10){
printf("%d\n",n);
break;
}
}
}
}
}
解题思路:因为数已经远远超过了long long 表示的范围,所以利用数组来做这道题。
文章来源:https://blog.csdn.net/m0_75005390/article/details/135210922
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!