用C语言求出100到1000之间的水仙花数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言求出100到1000之间的水仙花数?相关的知识,希望对你有一定的参考价值。
水仙花数就是各位的立方和等于他本身的数。
#include<stdio.h>
void main()
int a,b,c,d,e,f;
for(a=100;a<=1000;a++)
b=a/100;
c=(a-100*b)/10;
d=a%10;
e=b*b*b+c*c*c+d*d*d;
if(e==a) printf("%d是水仙花数",a);
求解我这个怎么错的。。
Demo7.obj : error LNK2005: _main already defined in 4654.obj
Demo10.obj : error LNK2005: _main already defined in 4654.obj
Debug/4654.exe : fatal error LNK1169: one or more multiply defined symbols found
执行 link.exe 时出错.
这是错误提示
#include"stdio。h"
intmain()
intx,y,z;
printf("100到1000之间的水仙花数有:\\n");
for(inta=100;a<=1000;a++)
x=a/100;//x为百位上的数
y=(a-x*100)/10;//y为十位上的数
z=a-x*100-y*10;//z为个位上的数
if(a==x*x*x+y*y*y+z*z*z)
printf("%d\\n",a);
getchar();
getchar();
return0;
水仙花数又称阿姆斯特朗数。
三位的水仙花数共有4个:153,370,371,407;
四位的四叶玫瑰数共有3个:1634,8208,9474;
五位的五角星数共有3个:54748,92727,93084;
六位的六合数只有1个:548834;
七位的北斗七星数共有4个:1741725,4210818,9800817,9926315;
八位的八仙数共有3个:24678050,24678051,88593477
以上内容参考:百度百科-水仙花数
参考技术A #include "stdio.h"int main()
int x, y, z;
printf("100到1000之间的水仙花数有:\\n");
for(int a=100;a<=1000;a++)
x = a / 100; //x为百位上的数
y = (a - x * 100) / 10; //y为十位上的数
z = a - x * 100 - y * 10; //z为个位上的数
if (a == x*x*x + y*y*y + z*z*z)
printf("%d\\n", a);
getchar();
getchar();
return 0;
追问
虽然我不是让你帮我写一个。。但还是谢了,我是弄了好几个MAIN。
本回答被提问者采纳 参考技术B a <=1000是否应该改写成 a < 1000呢?别的没错误 参考技术C 代码本身没有错,检查别的原因吧!Python基础练习-003-求100-999之间所有的水仙花数
水仙花数是指一个n位的正整数(n>=3),它的每个数字的n次幂之和等于它本身。例如:153=1*1*1+5*5*5+3*3*3,153为三位数,它的每个数字的三次方之和等于153。用python语言实现求出100~999之间的所有水仙花数。
分析过程:将正整数n的个位十位百位分别取出,再求幂之和;个位百位比较好拆分,十位的话可以先减去百位再用除法计算。
1 # -*- coding:utf-8 -*- 2 # @Author : 飘飘_emmm 3 print("100-999之间的水仙花数为:") 4 for a in range(100,999): #定义一个100-999之间的数 5 i = int(a % 10) #取出个位 6 j = int(a/100) #取出百位 7 k = int((a - j*100)/10) #通过计算取出十位 8 if i**3 + j**3 + k**3 == a: #计算幂之和,与数本身进行判断 9 print(a)
以上是关于用C语言求出100到1000之间的水仙花数?的主要内容,如果未能解决你的问题,请参考以下文章