xtuoj 整数分类

题目

思路

首先由输入的数据就可以看出,我们应该以字符串的形式读入,然后根据题意,只有在个位数的时候就是字符串长度len==1时,分好类,类别就是该字符串,如果不是个位数,就计算数码和sum,先初始化为0,由于这里是字母的形式,索引我们将字母-'0'就可以得到原来的数字,然后依次把每个数字加进去。如果数码和>=10,那么就还要计算该数码和的数码和,只不过现在这个数码和已经是数字了,我们就不能用字母的方式了,而是用数字的方式,每次将末尾取出来(%10),然后加到new_sum,去掉末尾(/10),如此重复,直到原来的sum变为0就结束。然后输出结果就是new_sum,只不过我们new_sum定义在while内部,循环一结束就会释放掉,就是我们还是将new_sum的结果赋值给sum,最后输出sum就好了。

代码

cpp 复制代码
#include<stdio.h>
#include<string.h>

char s[505];

int main(){
	while(~scanf("%s",s)){
		if(strcmp(s,"0")==0) return 0;
		int len=strlen(s);
		if(len==1){
			printf("%s\n",s);
			continue;
		}
		int sum=0;
		for(int i=0;i<len;i++){
			sum+=s[i]-'0';
		}
		while(sum>=10){
			int new_sum=0;
			int temp=sum;
			while(temp){
				new_sum+=temp%10;
				temp/=10;
			}
			sum=new_sum;
		}
		printf("%d\n",sum);
	}
	
	return 0;
}
相关推荐
徐小夕3 小时前
花了一周,3亿tokens,我开源了一款 Word 文档智能审查平台,文稿自动质检+可视化分析,告别低效人工审核
前端·算法·github
可编程芯片开发4 小时前
UPFC统一潮流控制器的simulink建模与仿真
算法
小小仙子5 小时前
矢量网络分析仪如何测试S参数的?
人工智能·算法·机器学习
中微极客6 小时前
降维算法75倍加速:从PCA到稀疏字典学习的工程实践
人工智能·学习·算法
storyseek7 小时前
前缀和实现Kogge-Stone算法
数据结构·算法
元Y亨H7 小时前
开发者必须掌握的十大核心算法
算法
元Y亨H7 小时前
深度解构:数据结构与算法的理论基石与工程演进
数据结构·算法
元Y亨H7 小时前
数据结构与算法的通俗指南
数据结构·算法
2301_764441338 小时前
用动力学系统(微分方程)为 Kernberg 的客体关系单元提供数学化的操作定义,把“自体—客体“这对心理结构建模成一个二维耦合系统
数据结构·python·算法·数学建模