编程求100到999的水仙花数,通过主函数调用该函数(完成程序求100

http://www.itjxue.com  2023-03-18 11:44  来源:未知  点击次数: 

c语言编写求水仙数,从100到999之间的。用fun函数

源程序如下:

#includestdio.h

int fun(int n)

{ int i,j,k,m;

m=n;

k=0;

for(i=1;i4;i++)

{ j=m%10;

m=(m-j)/10;

k=k+j*j*j;

}

if(k==n)

return 1;

else

return(0);

}

void main()

{ int i;

for(i=100;i1000;i++)

if(fun(i)==1)

printf("%d is ok!\n" ,i);

}

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)

求100到999之间的水仙花数,调用函数

void?getNum(int?b_num,?int?e_num)

{

????int?i,j,k,n;?

????printf("'water?flower'number?is:");?

????for(n=b_num;n=e_num;n++)?

????{?

????????i=n/100;/*分解出百位*/?

????????j=n/10%10;/*分解出十位*/?

????????k=n%10;/*分解出个位*/?

????????if(n==i*i*i+j*j*j+k*k*k)?

????????{?

????????????printf("%-5d",n);?

????????}?

????}?

????printf("\n");?

}

用Python输出100到999之间的水仙花数?

水仙花数是指一个n位数(n≥3)其各位数字的n次方之和等于该数本身。例如,153就是一个水仙花数,因为$1^3+5^3+3^3=153$。

你可以使用循环来查找100到999之间的水仙花数,下面是一个Python程序示例:

for num in range(100, 1000):

# 将数字转换为字符串,以便对每个数字进行分离和求幂

num_str = str(num)

# 初始化数字的幂和

total = 0

# 对每个数字的每一位进行幂的计算并求和

for digit in num_str:

total += int(digit)**len(num_str)

# 如果数字的幂和等于该数字本身,则为水仙花数,进行输出

if total == num:

print(num)

这个程序首先使用一个for循环来遍历100到999之间的每个数字。对于每个数字,它将数字转换为字符串,并使用另一个for循环对每个数字的每一位进行幂的计算并求和。如果数字的幂和等于该数字本身,则将该数字输出,即为水仙花数。

你可以将以上代码复制并粘贴到Python编辑器中并运行,应该会输出所有100到999之间的水仙花数。

17. 编写求水仙花数的函数,然后通过主调函数求100到999之间的全部水仙花数

C编的。

#includestdio.h

fun()

{int i,n,s;

for(i=100;i1000;i++)

{n=i;s=0;

while(n)

{s=(n%10)*(n%10)*(n%10)+s;

n=n/10;}

if(s==i)

printf("%d\n",i);}

}

main()

{fun();

}

C语言怎样编输出所有水仙花数范围100到999

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。判断一个数是否为水仙花数需要拆分数位,求幂再相加。不过这道题限定了范围,都是三位数,所以可以使用3重循环分别代表3个数位,这样就省去了拆分的麻烦。

代码如下:

#include stdio.h

int main()

{

int i, j, k, sum;

sum = 0;

for (i = 1; i 10; i++)

for (j = 0; j 10; j++)

for (k = 0; k 10; k++)

if ((i*i*i + j*j*j + k*k*k) == (i*100 + j*10 + k))

printf("%d\n", i*100 + j*10 + k);

return 0;

}

(责任编辑:IT教学网)

更多

推荐免费资源文章