问题标题: 酷町堂:5065 神秘咒语

0
0
已解决
李泽屿
李泽屿
新手启示者
新手启示者

题目链接: 酷町堂:5065

#include<bits/stdc++.h>
using namespace std;
int n,maxa,mina,cnt,a[10];//n是一个四位数,maxa用来存最大值,mina用来存最小值,cnt:计数器
int y=1;
bool cmp(int a,int b){
    return a>b;
}
int main(){
    cin>>n;
    while(n!=6174){
        while(n!=0){
            a[y]=n%10;
            n/=10;
            y++;
        }
        sort(a+1,a+4+1,cmp);
        for(int i=1;i<=4;i++){
            if(i==1)    maxa+=a[i]*1000;
            if(i==2)    maxa+=a[i]*100;
            if(i==3)    maxa+=a[i]*10;
            if(i==4)    maxa+=a[i];
        }
        sort(a+1,a+4+1);
        for(int i=1;i<=4;i++){
            if(i==1)    mina+=a[i]*1000;
            if(i==2)    mina+=a[i]*100;
            if(i==3)    mina+=a[i]*10;
            if(i==4)    mina+=a[i];
        }
        n=maxa-mina;
        maxa=0;
        mina=0;
        cnt++;
    }
    cout<<cnt;
    return 0;
}

 


0
已采纳
郭梓强
郭梓强
初级光能
初级光能

@李泽屿 我来帮帮你吧

我的思路:

函数(judge)

a数组取四位数的每一位

tmp=每位数组成的最大值-最小值(这个你应该会求,就是a[4]*1000+a[3]*100+a[2]*10+a[1]-a[1]*1000-a[2]*100-a[3]*10-a[4])

主函数(main)

while循环n!=6174

judge()

cnt++;

最后输出cnt即可

望采纳!!!!

0
0
卢嘉懿
卢嘉懿
高级光能
高级光能

程序太复杂了

简便一点即可AC

思路:。。。。

    如想看请充VIP

0
0
李泽屿
李泽屿
新手启示者
新手启示者

emmmm......

谁来回复一下

我不想给卢**和夏**

我要回答