• 7-1 掉入陷阱的数字 (15分)


    对任意一个自然数N0​​,先将其各位数字相加求和,再将其和乘以3后加上1,变成一个新自然数N1​​;然后对N1​​重复这种操作,可以产生新自然数N2​​;……多次重复这种操作,运算结果最终会得到一个固定不变的数Nk​​,就像掉入一个数字“陷阱”。

    本题要求对输入的自然数,给出其掉入“陷阱”的过程。

    输入格式:

    在一行内给出一个自然数N0​​(N0​​<30000)。

    输出格式:

    对于输入的N0​​,逐行输出其掉入陷阱的步骤。第i行描述N掉入陷阱的第i步,格式为: i:Ni​​ (i1)。当某一步得到的自然数结果Nk​​(k1)与上一步Nk1​​相同时,停止输出。

    输入样例:

    5
    
     

    输出样例:

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

     1 #include<stdio.h>
     2 int cmd(int n)
     3 {
     4     int m=0,temp;
     5     while(n>0)
     6     {
     7         m=m+n%10;
     8         n=n/10;
     9     }
    10     temp=3*m+1;
    11     return temp;
    12 }
    13 int main()
    14 {
    15     int n,t,count=1;
    16     scanf("%d",&n);
    17     while(1)
    18     {
    19         t=cmd(n);
    20         printf("%d:%d
    ",count,t);
    21         count++;
    22         if(n==t)
    23             break;
    24         n=t;
    25     }
    26     return 0;   
    27 }
  • 相关阅读:
    不忘初心,方得始终
    【读书笔记】Windows核心编程
    工作心得
    2015年随记
    微信开发的黑魔法
    [cssTopic]浏览器兼容性问题整理 css问题集 ie6常见问题【转】
    获取微信用户openid
    Spring Boot应用开发起步
    一种在Java中跨ClassLoader的方法调用的实现
    H5语义化标签
  • 原文地址:https://www.cnblogs.com/xiaolitongxueyaoshangjin/p/12105717.html
Copyright © 2020-2023  润新知