m0_68871653 2022-03-29 20:07 采纳率: 100%
浏览 99
已结题

扩展水仙花数c语言有多组测试数据

扩展水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次方之和等于它本身。
。 要求编写程序,输出所有扩展水仙花数。

输入格式:
首先输入一个整数T(1<=T<10),表示测试组数;每组测试在一行上输入一个正整数N(3<=N<=7)。

输出格式:
对于每组测试,按递增顺序输出所有扩展水仙花数,每个数字占一行。

输入样例:
1
3
输出样例:
153
370
371
407

  • 写回答

1条回答 默认 最新

  • 浪客 2022-03-30 12:00
    关注
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int main()
    {
        int n, *narr;
        scanf("%d", &n);
        narr = (int *)calloc(n, sizeof(int));
        for (int i = 0; i < n; i++)
        {
            scanf("%d", &narr[i]);
        }
    
        for (int i = 0; i < n; i++) //组
        {
            int start = pow(10, narr[i] - 1);
            int end = pow(10, narr[i]) - 1;
            for (int j = start; j <= end; j++) //数
            {
                int sum = 0, nx = j, x;
                while (nx > 0)
                {
                    x = nx % 10;
                    sum +=  pow(x, narr[i]);
                    nx /= 10;
                }
                if (sum == j)
                {
                    printf("%d\n", j);
                }
            }
        }
    
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月7日
  • 已采纳回答 3月30日
  • 创建了问题 3月29日

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集