c 求帮忙优化时间复杂度
  • 板块学术版
  • 楼主Hao1937
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/2 18:12
  • 上次更新2024/10/2 20:06:19
查看原帖
c 求帮忙优化时间复杂度
1451027
Hao1937楼主2024/10/2 18:12

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1 3 +5 3 +3 3 。 本题要求编写程序,计算所有N位水仙花数。

输入格式: 输入在一行中给出一个正整数N(3≤N≤7)。

输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行。

#include<stdio.h>
#include<math.h>
int main()
{
    int n,i,o,check,number;
    scanf("%d",&n);
    for(i=pow(10,n-1);i<pow(10,n);i++)
    {
        number=i;
        check=0;
        for(o=1;o<=n;o++)
        {
            check+=pow(number%10,n);
            number/=10;
        }
        if(check==i){printf("%d\n",i);}
    }
    return 0;
}
2024/10/2 18:12
加载中...