KyrieIrvinga 2022-10-14 12:53 采纳率: 66.7%
浏览 170
已结题

PTA水仙花数——C语言

出现运行超时 希望可以在原代码上修改

#include <stdio.h>
#include <math.h>
int main()
{
int N,number=1,j=2,sum=0;
scanf("%d",&N);

number=pow(10,N-1);

int i=number;
while(i<number*10)
{
    sum = 0;
    int t = i;
    do
    {
    int    d = t % 10;
        t/=10;
        sum += pow(d,N);

    }while(t>0);
    if(sum==i)
        {
            printf("%d\n",sum);
        }
    i++;
}
return 0;

}

img

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-10-14 13:24
    关注

    改动处见注释,供参考:

    #include <stdio.h>
    #include <math.h>
    int main()
    {
        int N, number = 1, j = 2, sum = 0;
        scanf("%d", &N);
        number = pow(10, N - 1);
        int i = number;
        while (i < number * 10)
        {
            sum = 0;
            int t = i;
            do
            {
                int d = t % 10;
                t /= 10;
                int k = N, kk = 1;//修改
                while (k--) kk *= d;//修改
                sum += kk; //pow(d, N);
            } while (t > 0);
            if (sum == i)
            {
                printf("%d\n", sum);
            }
            i++;
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 已采纳回答 10月14日
  • 创建了问题 10月14日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?