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;
}
相关推荐
find1star6 小时前
LeetCode 141:环形链表
java·算法·leetcode·链表
迅翼SwiftWing7 小时前
编队系列(总)|固定翼编队如何实现稳定飞行?通信架构、协同算法与工程约束深度解析
算法·架构
LB21127 小时前
力扣160 21 86
算法·leetcode·职场和发展
小智老师PMP8 小时前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理
HugoStudio_SWAN8 小时前
洛谷 B4450 / B3867 / B3923 智慧购物、储蓄与做题——从程序到生活
c++·学习·程序人生·算法·生活
a187927218318 小时前
【算法】动态规划第二篇:双序列 DP 三课——继承、计步与断链
算法·leetcode·动态规划·dp·回溯·暴力·算法讲解
江畔柳前堤9 小时前
前台·中台·后台:2026年AI原生时代的架构全景图
开发语言·人工智能·算法·机器学习·架构·scala·ai-native
文心快码BaiduComate10 小时前
2026 OPC x AI Coding 趋势案例交流会圆满落幕:一个人就一支研发团队
算法
ACM-moran10 小时前
条件显化(二分单峰函数+构造数列)
算法·推公式·整数三分
闻缺陷则喜何志丹10 小时前
【栈 运算系统】P3719 [AHOI2017初中组] rexp|普及+
c++·算法··洛谷·运算系统