exlin0 2021-12-02 16:43 采纳率: 0%
浏览 11
已结题

1019数字黑洞测试超时如何修改

pat测试一直超时
问题相关代码,请勿粘贴截图
#include<stdio.h>
int main(){
    int n,sum1,sum2;
    scanf("%d",&n);
    int a[4]={0};
    int sum,i,j;
    while(n!=6174){        
            for(i=0;n>0;n/=10){
                a[i]=n%10;
                i++;
            }                
            for(i=0;i<4;i++){
                for(j=0;j<4-i;j++){
                    if(a[j]<a[j+1]){
                        sum=a[j];
                        a[j]=a[j+1];
                        a[j+1]=sum;
                    }                    
                }
            }
            sum1=a[0]*1000+a[1]*100+a[2]*10+a[3];
            sum2=a[0]+a[1]*10+a[2]*100+a[3]*1000;
            n=sum1-sum2;
            printf("%04d - %04d = %04d\n",sum1,sum2,sum1-sum2);
        if(sum1==sum2) break; 
    }
    
    return 0;
}

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • exlin0 2021-12-02 19:34
    关注

    #include<stdio.h>
    #include<stdlib.h>
    int cmp_int(const void*_a,const void*_b)//参数格式固定
    {
    int a=(int)_a;
    int b=(int)_b;
    return *a-*b;
    }
    int main(){
    int n,sum1=0,sum2=0;
    int t=3;
    scanf("%d",&n);
    int a[4]={0};
    int sum,i,j;
    while(n!=6174){
    for(i=3;n>0;n/=10){
    a[i]=n%10;
    i--;
    }
    qsort(a,4,sizeof(int),cmp_int);
    // for(i=0;i<4;i++){
    // for(j=0;j<4-i;j++){
    // if(a[j]<a[j+1]){
    // sum=a[j];
    // a[j]=a[j+1];
    // a[j+1]=sum;
    // }
    // }
    // }
    sum2=a[0]*1000+a[1]*100+a[2]*10+a[3];
    sum1=a[0]+a[1]*10+a[2]*100+a[3]*1000;
    n=sum1-sum2;
    printf("%04d - %04d = %04d\n",sum1,sum2,sum1-sum2);
    if(sum1==sum2) break;
    }
    return 0;
    }
    qsort永远的神

    评论

报告相同问题?

问题事件

  • 系统已结题 12月10日
  • 创建了问题 12月2日

悬赏问题

  • ¥15 fastreport怎么判断当前页数
  • ¥15 Kylin-Desktop-V10-GFB-Release-JICAI_02- 2207-Build14-ARM64.iso有没有这个版本的系统啊
  • ¥15 能不能通过蓝牙将传感器数据传送到手机上
  • ¥20 100元python和数据科学实验项目
  • ¥15 根据时间在调用出列表
  • ¥15 R 包chipseeker 安装失败
  • ¥15 Veeam Backup & Replication 9.5 还原问题
  • ¥15 vue-print-nb
  • ¥15 winfrom的datagridview下拉框变成了黑色,渲染不成功
  • ¥20 利用ntfy实现短信推送