如果一个n位正整数等于它的n个数字的n次方和,则称该数为n位自方幂数。编程计算并输出所有的n的所有情况。
慕课上的题是这样:
如果一个n位正整数等于它的n个数字的n次方和,则称该数为n位自方幂数。四位自方幂数称为玫瑰花数。编程计算并输出所有的玫瑰花数。
MOOC只让算出4位数的,而我跟一个傻子一样把1到n的全都输出了,不过把下面的for循环改一改就对了


#include<stdio.h>
#include<math.h>
/*这个lv函数用来将n的每一位数都分离*/
int lv(int n,int a[])
{int i,p=0;int lp[1000];for(i=0,p=0;;i++){a[i]=n%10;n=n/10;lp[i]=n;p++;if(lp[i]==0)/*当它lp[i]=0的时候n也就是等于0,他们一直除以10,用p计算除了多少次*/break;/*p等于2的时候就是两位数,除了3次,最后一次除以一定等于0,才跳出*/}return p;
}
int main()
{int a[1000];int i,p,j,sum=0;for(i=1000;i<10000;i++)/*慕课上要求是四位数,在这里要求一下就可以了,(i=1000;i<10000;i++)*/{p=lv(i,a);/*这里调用函数,p也就是表示了有几位数*/for(j=0,sum=0;j<p;j++)/*这个for循环用来计算n的几次幂的和*/{sum=sum+pow(a[j],p);}if(sum==i)/*判断几次幂的和是否和i相等*/printf("%d\n",i);}return 0;
}

下面这个不是四位数,是1到n的

#include<stdio.h>
#include<math.h>
int lv(int n,int a[])
{int i,p=0;int lp[1000];for(i=0,p=0;;i++){a[i]=n%10;n=n/10;lp[i]=n;p++;if(lp[i]==0)break;}return p;
}
int main()
{int a[1000];int i,p,j,sum=0;for(i=1;;i++){p=lv(i,a);for(j=0,sum=0;j<p;j++){sum=sum+pow(a[j],p);}if(sum==i)printf("%d\n",i);}return 0;
}

这里只计算到了88593477,下面估计还有好多,

如果一个n位正整数等于它的n个数字的n次方和,则称该数为n位自方幂数。编程计算并输出所有的n的所有情况。相关推荐

  1. 【C语言】从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号)。

    C语言实战题目:从键盘任意输入一个3位整数,编程计算并输出它的逆序数(忽略整数前的正负号).例如,输入-123,则忽略负号,由123分离出其百位1.十位2.个位3,然后计算3*100+2*10+1 = ...

  2. 从键盘任意输入一个整数n,编程计算并输出1-n之间的所有素数之和。

    从键盘任意输入一个整数n,编程计算并输出1-n之间的所有素数之和.要求: 1)编写函数 int IsPrime(int x),该函数功能是判断x是否为素数,若函数返回0,则表示不是素数,若返回1,则代 ...

  3. 从键盘输入正整数n,编程计算并输出1~n的和。

    描述 从键盘输入正整数n,编程计算并输出1~n的和. 输入 正整数n 输出 1~n的和 #include <stdio.h> #include <stdlib.h>int ma ...

  4. c语言从1加到任意数的编程,c语言:从键盘任意输入一个整数n,编程计算并输出1-n之间的所有素数之和...

    #include #include int prime(int x){ int i; for(i=2;i<=(int)sqrt(x);i++) if(x%i==0) return 0; retu ...

  5. JS求三位水仙花数,及自方幂数

    目录 水仙花数: 自方幂数: 水仙花数: "水仙花数"是指一个3位数,其每一位数字的立方和等于该数本身.水仙花数是一种特定的自方幂数. var sum; var a,b,c; va ...

  6. 输入一个三位数,求个个数位数字的三次方之和,并判断和是否与该数相同

    解题思路: 先把三位数(n)的3个数位值算出来 然后求数位数字的三次方之和 最后判断数位数字的三次方之和(sum)是否与该数(n)相同 代码: # 输入一个三位数,求个个数位数字的三次方之和,并判断和 ...

  7. 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身

    习题5-6 使用函数输出水仙花数 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身.例如:153=13 + 53 + 33​​ . 本题要求编写两个函数,一个判断给定整数 ...

  8. 浙大版《C语言程序设计(第3版)》题目集习题5-6 使用函数输出水仙花数 (20 分) 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1 ​3 ​​ +

    水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身.例如: ​​ . 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所 ...

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

    水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身.例如:153=13+53+33. 本题要求编写程序,计算所有N位水仙花数. 输入格式: 输入在一行中给出一个正整数N(3 ...

  10. C++ PAT 乙级 ——1002 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

    C++ PAT 乙级 --1002 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 题目分析 (1)由于自然数n的范围要求小于10^100,unsigned long long ...

最新文章

  1. python conda虚拟环境
  2. 驱动学习之LED驱动框架
  3. 关于MongDB数据迁移方案的研究
  4. 用netsh自动切换IP
  5. hexo的yelee主题使用自定义字体并用字蛛进行字体压缩的sed脚本
  6. 英语四级真题作文 计算机,2019年6月大学英语四级作文范文50例:电脑
  7. 阿里专家杜万:Java响应式编程,一文全面解读
  8. 数据结构——插入排序
  9. linux端口转发_详解Linux网桥功能--概念、工作机制、相关命令及实例说明
  10. 论卢伟冰加入小米公司后的变化
  11. 如何使用:after伪元素和:before伪元素
  12. 论文笔记_S2D.53_2013-ICCV_单目相机半稠密视觉里程计(VO)
  13. paip.c#.net 右键菜单带图标
  14. n 维欧式空间中正交向量组的扩充
  15. 协方差检验用在什么地方_胶带还有什么隐藏功能,看看这几个,家里很多地方用得到...
  16. python安装包下载及安装(超详细)
  17. PHP教程一环境搭建 Wampserve 下载和安装
  18. php 微信小程序签到功能,微信小程序每日签到
  19. 语音识别算法原理文档整理(一)
  20. 简单介绍一下树莓派zero w

热门文章

  1. pick_types()函数及参数 meg eeg stim eog ecg
  2. React.Children.only expected to receive a single React element child.【react-transition-group】
  3. Bitmovin首席执行官Stefan:开发者正在构建视频产品的未来
  4. Win11找不到xinput1_3.dll怎么办?
  5. Zookeeper Leader选举算法及选举过程
  6. Win10桌面图标箭头去掉的方法总结
  7. Invalid bound statement (not found)出现的原因和解决方法
  8. html tbody接收数据,html tbody标签怎么用
  9. 用css解决文本折行问题
  10. IIS5.1完整安装包使用指南(详解版)