最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

编程输出1000以内的所有水仙花数,所谓水仙花数是指一个3位数,其各位数字的立方和等于其本身

来源:懂视网 责编:小OO 时间:2024-11-29 08:02:50
文档

编程输出1000以内的所有水仙花数,所谓水仙花数是指一个3位数,其各位数字的立方和等于其本身

program shuixianhuashu。var a.b.c: integer。begin;for a := 1 to 9 do。for b := 0 to 9 do。for c := 0 to 9 do。if a*a*a + b*b*b + c*c*c = 100*a + 10*b + c then。writeln(100*a + 10*b + c)。end。或使用另一种方法。program sxh。var a.b.c.d: integer。begin;for a := 100 to 999 do。begin;b := a mod 10。c := a mod 100 div 10。d := a div 100。if b*b*b + c*c*c + d*d*d = a then。
推荐度:
导读program shuixianhuashu。var a.b.c: integer。begin;for a := 1 to 9 do。for b := 0 to 9 do。for c := 0 to 9 do。if a*a*a + b*b*b + c*c*c = 100*a + 10*b + c then。writeln(100*a + 10*b + c)。end。或使用另一种方法。program sxh。var a.b.c.d: integer。begin;for a := 100 to 999 do。begin;b := a mod 10。c := a mod 100 div 10。d := a div 100。if b*b*b + c*c*c + d*d*d = a then。

水仙花数是指一个3位数,其各位数字的立方和等于其本身。三位的水仙花数共有四个:153,370,371,407。我们可以用程序来找到它们,例如用Pascal语言实现如下:

program shuixianhuashu;

var a, b, c: integer;

begin

for a := 1 to 9 do

for b := 0 to 9 do

for c := 0 to 9 do

if a*a*a + b*b*b + c*c*c = 100*a + 10*b + c then

writeln(100*a + 10*b + c);

end.

或使用另一种方法:

program sxh;

var a, b, c, d: integer;

begin

for a := 100 to 999 do

begin

b := a mod 10;

c := a mod 100 div 10;

d := a div 100;

if b*b*b + c*c*c + d*d*d = a then

writeln(a);

end;

end.

也可以使用C语言实现如下:

#include <stdio.h>

int main(void)

{

int a, b, c;

for(a = 1; a <= 9; a++)

for(b = 0; b <= 9; b++)

for(c = 0; c <= 9; c++)

if(100*a + 10*b + c == a*a*a + b*b*b + c*c*c)

printf("%d%d%d\n", a, b, c);

return 0;

}

这些程序可以找出所有三位的水仙花数,程序逻辑简洁明了,适合初学者理解和学习。

文档

编程输出1000以内的所有水仙花数,所谓水仙花数是指一个3位数,其各位数字的立方和等于其本身

program shuixianhuashu。var a.b.c: integer。begin;for a := 1 to 9 do。for b := 0 to 9 do。for c := 0 to 9 do。if a*a*a + b*b*b + c*c*c = 100*a + 10*b + c then。writeln(100*a + 10*b + c)。end。或使用另一种方法。program sxh。var a.b.c.d: integer。begin;for a := 100 to 999 do。begin;b := a mod 10。c := a mod 100 div 10。d := a div 100。if b*b*b + c*c*c + d*d*d = a then。
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top