早教吧 育儿知识 作业答案 考试题库 百科 知识分享

用程序框图和基本算法语句描述一个算法,输出100~999中的所有水仙花数.(若三位数中ABC=A3+B3+C3,则称ABC为水仙花数,例如13+53+33=1+125+27=153,则153为水仙花数)

题目详情

用程序框图和基本算法语句描述一个算法,输出100~999中的所有水仙花数.(若三位数中ABC=A3+B3+C3,则称ABC为水仙花数,例如13+53+33=1+125+27=153,则153为水仙花数)

▼优质解答
答案和解析

  程序框图如图所示.

  程序:

  I=100;

  while I≤999

  A=int(I/100);

  B=int((I-100*A)/10);

  C=I-int(I/10)*10;

  if I=A^3+B^3+C^3

  then print(%io(2),I)

  I=I+1

  else

  I=I+1

  end

  end

  分析:此题的关键是从一个三位数中分离出百位数、十位数和个位数,设这个三位数为I,由A、B、C三个数字组成.则

  (1)百位数A=int(I/100);

  (2)十位数B=int((I-100*A)/10);

  (3)个位数C=I-int(I/10)*10.

  从100开始验证,个位数、十位数、百位数的立方之和如果等于这个三位数,则输出,否则继续验证,一直验证到999为止.