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;
}
相关推荐
CoovallyAIHub1 天前
全球OCR新标杆!百度0.9B小模型斩获四项SOTA,读懂复杂文档像人一样自然
深度学习·算法·计算机视觉
weixin_377634841 天前
【强化学习】RLMT强制 CoT提升训练效果
人工智能·算法·机器学习
拾光Ծ1 天前
【C++高阶数据结构】红黑树
数据结构·算法
Qiuner1 天前
《掰开揉碎讲编程-长篇》重生之哈希表易如放掌
数据结构·算法·leetcode·力扣·哈希算法·哈希·一文读懂
cici158741 天前
基于MATLAB的ADS-B接收机卫星与接收天线初始化实现
算法·matlab
木井巳1 天前
[Java数据结构与算法]详解排序算法
java·数据结构·算法·排序算法
美狐美颜SDK开放平台1 天前
直播美颜SDK功能开发实录:自然妆感算法、人脸跟踪与AI美颜技术
人工智能·深度学习·算法·美颜sdk·直播美颜sdk·美颜api
缓风浪起1 天前
【力扣】2011. 执行操作后的变量值
算法·leetcode·职场和发展
gsfl1 天前
双指针算法
算法·双指针
郝学胜-神的一滴1 天前
矩阵的奇异值分解(SVD)及其在计算机图形学中的应用
程序人生·线性代数·算法·矩阵·图形渲染