首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言---自幂数(“水仙花数”)

1.打印0~100000的自幂数 #include #include int main() { int i = 0; for (i = 0; i<100000;...sum + pow(temp % 10, n); temp = temp / 10; } if (sum == i) { printf("%d ", i); } } } 自幂数就是一个数字每个数位上的数的位数次方...,例如三位数123,位数是3,即1的3次方+2的3次方+3的3次方!...=123,所以不是自幂数; 对于这个题目,1~100000,我们要确定他的位数,对这个数字进行除10操作,123进入后得1,除10之后是12,12进入后是2,除10是1,1进入后n是3,除以10后是0,...所以如果直接使用i就会无法遍历1~100000的每一个数字,所以我们引入中间变量temp,把i数值赋值给temp,我们对temp进行操作,这样就不会影响i的数值; 当i和sum相同的时候,就是符合条件的自幂数。

9210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【必懂】C语言水仙花数题解

    今天在一个学习群里,他们在讨论一个叫做求水仙花数的内容,我不懂水仙花数,我感觉我被打击了。...小C:哈哈哈,水仙花数呀,水仙花数其实就是指一个三位数,他们的个位、十位、百位的立方和等于这个三位数本身。 小媛:他们也是这样解释的,但我还是不懂呀。...小C:这 153 不就是这个三位数本身吗?这个三位数本书也是等于 153 呢。 小媛:唔,你意思就是说符合这种规律的数就叫做水仙花数吧? 小C:是的,理解了吗? 小媛:懂是懂了,那怎么写呢?...,将最后的结果与原有的数进行对比,这时就可以得知当前的数是否是水仙花数了。...小C:哈哈哈,考虑的挺周到的,那你懂水仙花数了吧?不难吧? 小媛:之前只是没想过来,都是小东西。 本专栏已参加 CSDN 蓄力计划,感谢读者支持。

    53040

    C循环-水仙花数

    本关任务: 求出所有的水仙花数。 提示:所谓水仙花数是指一个三位数,其各位数字的立方和等于该数字本身。比如153是一个水仙花数,因为153=1^3+5^3+3^3。...例如:370就是一个水仙花数,因为370 = 3^3 +7^3 + 0^3 提示: 所谓水仙花数是指一个三位数,其各位数字的立方和等于该数字本身。...比如153是一个水仙花数,因为153=1^3+5^3+3^3。 注意:本题不需要输入语句,由于网站限制要求一定要有输入输出示例,但同学们可以对输入部分忽略不计。...例如:370就是一个水仙花数,因为370 = 3^3 +7^3 + 0^3本关涉及的代码文件的代码框架如下: 以下是测试样例: 输入:1 输出:153 370 371 407 源代码: #include...{ a = i%10; b = i/10%10; c = i/100; if(i == a*a*a + b*b*b + c*c*c){

    1.4K30

    水仙花数 -- C++ 实现

    水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong...number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。...1.算法分析 将给出的数字拆分成百位,十位和个位,将它们存储到变量中并用这些数求其立方和,若该数的立方和等于这个数,则这个数为水仙花数。...2.算法设计 根据水仙花数是一个三位数,可以设计一个 for 循环,循环变量为 i ,只要 i 大于 100 且小于 999,就一直枚举数字。...求得 a,b,c 三个数字的立方和是否与 i 相等,如果相等则证明该数为水仙花数。

    1.7K20

    C语言探索:水仙花数的奥秘与计算

    摘要: 水仙花数,一种特殊的三位数,其各位数字的立方和等于该数本身。本文将详细介绍水仙花数的定义、性质,以及如何使用C语言来寻找100至999范围内的水仙花数。...二、用C语言寻找100至999范围内的水仙花数 为了寻找100至999范围内的水仙花数,我们可以编写一个C程序进行遍历计算。...以下是寻找水仙花数的C语言代码: #include int main() { int i, a, b, c; // 定义整型变量i、a、b、c。...// 计算每位数字的立方和 int sum = a * a * a + b * b * b + c * c * c; // 判断是否为水仙花数...三、运行结果 总结: 通过本文,我们了解了水仙花数的定义与性质,并使用C语言编写程序找到了100至999范围内的所有水仙花数。希望这篇文章能帮助你更好地理解水仙花数问题,并掌握解决类似问题的方法。

    93810

    Python编程题2–水仙花数

    题目 如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。...例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数 请按照从小到大的顺序输出 1000 以内的水仙花数(3位数),并用”逗号”分隔输出结果 实现思路 用 for循环 控制1000...以内的3位数 依次求出该3位数中的个十百位,判断是否是水仙花数 先把3位数转为字符串类型,再添加到列表中 对结果进行处理,通过 join() 方法用 “,” 拼接 代码实现 def demo():...= [] for i in range(100, 1000): a = i // 100 # 百位 b = i // 10 % 10 # 十位 c...".join(temp) print("1000以内的水仙花数有:{}".format(demo())) 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/156069

    47920

    【C语言刷题系列】水仙花数的打印及进阶

    1.水仙花数问题 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数...(Armstrong number) 水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。...使用C语言编程实现水仙花数的打印 首先水仙花数的范围是三位数,创建一个循环,范围是100到999 在循环内对每一个数进行判断—— 通过取模和整除的方式将三位数的每一位都剥离出来 再将每一位的3次方 相加求和...a * a * a + b * b * b + c * c * c; if (sum==i) printf("%d ", i); } printf...("\n"); return 0; } 2.水仙花数问题的拓展(任意范围内整数) 对水仙花数的范围进行拓展,求出各位数字的n次方之和确好等于该数本身的数 解决思路 依然是创建一个for循环,这次的范围是

    16510
    领券