zoukankan      html  css  js  c++  java
  • 6174问题

    描述

    假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作。例如,从1234出发,依次可以得到4321-1234=3087、8730-378=8352、8532-2358=6174,又回到了它自己!现在要你写一个程序来判断一个四位数经过多少次这样的操作能出现循环,并且求出操作的次数

    比如输入1234执行顺序是1234->3087->8352->6174->6174,输出是4

    输入
    第一行输入n,代表有n组测试数据。
    接下来n行每行都写一个各位数字互不相同的四位数
    输出
    经过多少次上面描述的操作才能出现循环
    样例输入
    1
    1234
    样例输出
    4
     1 #include <stdio.h>  
     2 
     3 int main(){
     4     int T;
     5     int n;
     6     int digit[4];
     7     int max;
     8     int min;
     9     int i;
    10     int j;
    11     int temp;
    12     int amount;
    13     
    14     scanf("%d",&T);
    15     
    16     while(T--){
    17         scanf("%d",&n);
    18         
    19         amount=0;
    20         while(1){
    21             digit[0]=n/1000;
    22             digit[1]=n/100%10;
    23             digit[2]=n/10%10;
    24             digit[3]=n%10;
    25             
    26             for(i=0;i<4-1;i++){
    27                 for(j=i+1;j<4;j++){
    28                     if(digit[i]<digit[j]){
    29                         temp=digit[i];
    30                         digit[i]=digit[j];
    31                         digit[j]=temp;
    32                     }
    33                 }
    34             }
    35             max=digit[0]*1000+digit[1]*100+digit[2]*10+digit[3];
    36             min=digit[0]+digit[1]*10+digit[2]*100+digit[3]*1000;
    37             
    38             if(max-min==n)
    39                 break;
    40                 
    41             else{
    42                 n=max-min;
    43                 amount++;
    44             }
    45         }
    46         
    47         printf("%d
    ",amount+1);
    48     } 
    49         
    50     return 0;
    51 }
  • 相关阅读:
    Java IO流
    Java中Char和Byte的区别
    Java常用类
    View
    3 View
    View
    3 View
    3 View视图 URLconf
    2 Model层
    2 Model层-模型成员
  • 原文地址:https://www.cnblogs.com/zqxLonely/p/4096249.html
Copyright © 2011-2022 走看看