水仙花数编程题及答案(水仙花数代码怎么写)

水仙花数编程题及答案?

水仙花数是指一个三位数的各位数字的立方和等于该数本身的数,例如153就是一个水仙花数,因为1的三次方+5的三次方+3的三次方等于153。编程实现时,可以利用循环从100到999遍历每个三位数,然后对每个数的百位、十位和个位进行立方求和,并与该数本身比较是否相等,若相等,则输出该数即为水仙花数。以下是Python语言的代码实现:
for i in range(100,1000):
a = i // 100
b = i // 10 % 10
c = i % 10
if a**3 + b**3 + c**3 == i:
print(i)
程序运行结果为153、370、371、407,即这四个数都是水仙花数。

水仙花数用c程序怎么写?

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

代码如下:
#include<stdio.h>
void main()
{
int i,a,b,c;

for(i=100;i<1000;i++)//取值范围
{ a=i/100;//百位数
b=(i-a100)/10;//十位数
c=i%10;//个位数
if(i== aaa +bbb +cc*c)//判断各位上的立方和是否与原数n相等
printf(“%dn”,i);//输出结果
}

}

输入结果:

C语言高手来!!帮我查一个错!!就一个错!!Please…关于水仙花半数的题

  • import java.io.*;public class Narcissistic{ public static void main(String[] args) throws IOException { InputStreamReader reader=new InputStreamReader(System.in); BufferedReader input=new BufferedReader(reader); for (int i=101;i999;i++){ String s=new Integer(i).toString(); int temp=0; int n=s.length(); for (int j=0;jn;j++){ temp+=Math.pow(Character.digit(s.charAt(j), 10), n); if(temp==i){ System.out.println(i); }}}}}}
  • 这是C代码?

C语言求水仙花数要求范围自己输入

  • 没有给定范围,范围自行输入。
  • 你没有给 d 赋值,也就是说 if 语句总是假

大神求教,C++ 水仙花数

  • 题目:输出100~999中的所有水仙花数,若三位数ABC满足ABC=A^3+B^3+C^3,则称其为水仙花数。例如 153=1^3+5^3+3^3,所以153是水仙花数。图中的程序错在哪里了
  • 第三个判断,应该是if(n == i*i*i+j*j*j+k*k*k)

我的这个求水仙花数的vb程序为何在text1中只显示一个数407

  • Private Sub C1_Click()Dim a As IntegerDim b, c, d As IntegerFor a = 100 To 999 b = Int(a 100) c = Int((a – b * 100) 10) d = a – b * 100 – c * 10 If a = b ^ 3 + c ^ 3 + d ^ 3 Then Text1.Text = a End IfNext aEnd Sub
  • 因为只显示了最后满足 If a = b ^ 3 + c ^ 3 + d ^ 3 Then Text1.Text = a这个条件时的那个数。如果你要显示全部,需要打开textbox mutiline模式,或者使用label来输出

为什么运行出来的程序什么数都显示是水仙花数?

  • #includestdio.hvoid main(){int S,a,b,c;scanf("%d",&S);a=S100;b=S%10010;c=S%10;if(S==a*a*a+b*b*b+c*c*c);printf("%d是水仙花数.n",S);}
  • 你的if语句后面干嘛加分号呀,去掉!【if(S==a*a*a+b*b*b+c*c*c) printf("%d是水仙花数.n",S);】这是一句C语句呀,你加分号就成2句啦。

统计100-999之间的水仙花数的个数

  • 用C语言
  • #includestdio.hvoid main(){int i,j,k,n;printf("water flowernumber is:");for(n=100;n1000;n++) 实现数字的变换{i=n100;分解出百位j=n10%10;分解出十位k=n%10;分解出个位if(i*100+j*10+k==i*i*i+j*j*j+k*k*k){printf("%-5d",n);}}}

C语言编程:寻找水仙花数

  • 这个程序错在哪?#includestdio.hint main(){ int n,a,b,c; for(n=100;n=999;n++) { scanf("%d",&n); a=n%10; b=(n10)%10; c=n100; if(n==a*a*a+b*b*b+c*c*c) {printf("%dn",n);} } return 0;}
  • 去掉 scanf("%d",&n); 这句就好了。

c语言 水仙花数 多实例测试

  • 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+33。 现在要求输出所有在m和n范围内的水仙花数。问题补充: 输入输入数据有多组,每组占一行,包括两个整数m和n(100=m=n=999)。输出对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开; 如果给定的范围内不存在水仙花数,则输出no; 每个测试实例的输出占一行。 样例输入100 120300 380样例输出no370 371
  • 这个不是HDU的题目么。。。你首先把所有的水仙花数弄出来按大小存到数组里面,然后读取输入数据。如果在这个范围内有,就输出。没有就输出no

C++ 广义水仙花数 请帮我看哪里出了错

  • #include iostream#include cmathusing namespace std;int main(){ int i; int digit; double sum=0; double n; cinn; for(i=pow(10,n);ipow(10,n+1);i++) { while(i!=0) { digit=i%10; i=i10; sum=sum+pow(digit,n); } if(sum==i) couti" "endl; } return 0;}没有提示出错,我在cb上写的,在网站上提交的时候又说是编译出错,谢大神赐教了!!
  • i是int类型,sum是double类型,要比较大小得先将double转变为int

vbdaima 求水仙花数字的算法

  • Private S涪浮帝簧郜毫佃桐顶昆ub Command2_Click() 水仙花数 153=1*1*1+5*5*5+3*3*3For i = 10 To 999If i 100 Then ge = i Mod 10 shi = i 10 If ge ^ 3 + shi ^ 3 = i Then Print ,Else ge = i Mod 10 shi = i 10 Mod 10 bai = i 100 If ge * ge * ge + shi ^ 3 + bai ^ 3 = i Then Print i, geshu = geshu + 1 If geshu Mod 5 = 0 Then Print End IfEnd IfNext i Print Print Print geshuEnd Sub
版权声明