PTA刷题笔记(C语言) | 7-31 掉入陷阱的数字 (15分)

开始刷题,感觉代码量和基础太渣了,导致数据结构不会,重头慢慢刷吧~
在这里插入图片描述


1、题目

在这里插入图片描述
输入样例:

5

输出样例:

1:16
2:22
3:13
4:13


2、代码

#include<stdio.h>
int Sum(int num){
	int sum=num%10;
	while(num){
		num/=10;
		sum+=num%10;
	}
	return sum*3+1;
}
int main(){
    int num;
    scanf("%d",&num);
    int result=0;
    int j=0;
    int temp=-1,b=num;
	while(temp!=b){
		temp=b;
		j++;
		b=Sum(b);
		printf("%d:%d
",j,b);
	}
    return 0;
}

在这里插入图片描述

3、讨论

难度不大的一道题,但是细节满满,要注意输出的时候,自身的值是不输出的,也就是第一轮就是 * 3 + 1 的结果,所以得先保存一下这个数,然后计算,这样就可以直接输出下一轮的结果了!

妙啊!!!
在这里插入图片描述
在这里插入图片描述

原文地址:https://www.cnblogs.com/hzcya1995/p/13302581.html