首页 > 综合知识 >

c语言水仙花数的解题思路(c语言水仙花数)

发布时间:2024-02-09 08:50:47来源:

大家好,小乐来为大家解答以下的问题,c语言水仙花数的解题思路,c语言水仙花数很多人还不知道,现在让我们一起来看看吧!

1、水仙花数的含义:

“水仙花数”是一个三位数其各位数字的立方和等于该数本身。例如:3^3+7^3+0^3=370

2、算法分析:

把给出的某个三位数的个位、十位、百位分别拆分,并求其立方和(设为sum),若sum与给出的三位数相等, 则为“水仙花数”。

3、算法设计:

“水仙花数”是一个三位数,可以确定该数的取值范围是 100-999。对应的循环条件如下:

for (n=10; n<1000; n++) {}

将n整除以100,得出n在百位上的数字h。

将(n-i*100)整除以10, 得出n在十位上的数字t。

将n对10取余,得出n在个位上的数字a。

求得h,t,a 三个数字的立方和是否与n相等,如果相等则证明该数为水仙花数。

4、代码实现:

#include

int main() {

int h, t, a, n;

printf(result is:);

for ( n=100; n<1000; n++ ) { /*整数的取值范围*/

h = n / 100;

t = (n-h*100) / 10;

a = n % 10;

if (n == h*h*h + t*t*t + a*a*a) /*各位上的立方和是否与原数n相等*/

printf(%d , n);}

printf(n);

return 0;}

本文到此结束,希望对你有所帮助。

免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。