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;
}
相关推荐
心中有国也有家18 小时前
hixl:昇腾分布式推理的「快递专线」
人工智能·经验分享·笔记·分布式·学习·算法
爱睡懒觉的焦糖玛奇朵1 天前
【从视频到数据集:焦糖玛奇朵的魔法工具使用说明】
人工智能·python·深度学习·学习·算法·yolo·音视频
Runawayliquor1 天前
opbase:CANN 所有算子的公共地基
大数据·数据库·人工智能·算法
徐安安ye1 天前
FlashAttention 为什么对序列长度这么“敏感”?
人工智能·算法
黎阳之光1 天前
黎阳之光:以视频孪生重构智能监盘,为燃机打造新一代智慧电厂大脑
大数据·人工智能·算法·安全·数字孪生
绝知此事1 天前
【算法突围 02】树形结构与数据库索引:树形结构与数据库索引:从 BST 到 B+ 树的演化与 MySQL 优化
数据库·mysql·算法·面试·b+树
清木!1 天前
排序算法比较
数据结构·算法·排序算法
吴可可1231 天前
用Teigha修改并保存CAD文件
数据库·算法·c#
灰灰勇闯IT1 天前
ops-reduce:ReduceMax 与 ReduceMean 的并行优化
算法
水木流年追梦1 天前
大模型入门-Reward 奖励模型训练
开发语言·python·算法·leetcode·正则表达式