您现在的位置是:影视综艺
C语言编程输出所有的“水仙花数”。,c语言水仙花数
2020-10-10 09:34影视综艺
简介C语言输数的具体和实现流程如下:1、水仙花数的含义“水仙花数”是一个三位数位数字的立方和等于该数本身。例如:3^3 + 7^3+ 0^3 = 3702、算法分析把给出的某个三位数的个位、十位、百位分别 C语言编程输出所有的“水仙花数”。...
C语言输数的具体和实现流程如下:
1、水仙花数的含义
“水仙花数”是一个三位数位数字的立方和等于该数本身。例如:3^3 + 7^3+ 0^3 = 370
2、算法分析
把给出的某个三位数的个位、十位、百位分别拆分,并求其立方和(设为sum),若sum与给出的三位数相等, 则为“水仙花数”。
3、算法设计
“水仙花数”是一个三位数,可以确定该数的取值范围是 100〜999。对应的循环条件如下:
for (n=10; n<1000; n++) {}
将n整除以100,得出n在百位上的数字h。
将(n-i*100)整除以10, 得出n在十位上的数字t。
将n对10取余,得出n在个位上的数字a。
求得h,t,a 三个数字的立方和是否与n相等,如果相等则证明该数为水仙花数。
4、代码实现
#include <stdio.h>
int main() {
int h, t, a, n;
printf("result is:");
for ( n=100; n<1000; n++ ) { /*整数的取值范围*/
h = n / 100;
t = (n-h*100) / 10;
a = n % 10;
if (n == h*h*h + t*t*t + a*a*a) /*各位上的立方和是否与原数n相等*/
printf("%d ", n);}
printf("\n");
return 0;}
扩展资料:
常见水仙花数
水仙花数又称阿姆斯特朗数。
1、三位的水仙花数共有4个:153,370,371,407;
2、四位的四叶玫瑰数共有3个:1634,8208,9474;
3、五位的五角星数共有3个:54748,92727,93084;
4、六位的六合数只有1个:548834;
5、七位的北斗七星数共有4个:1741725,4210818,9800817,9926315;
6、八位的八仙数共有3个:24678050,24678051,88593477
参考资料来源:百度百科-水仙花数
-下面是更多关于水仙花数的问答
#include <stdio.h>
int main()
{
int start, end, i = 0, a, b, c, size = 0;
while (scanf("%d %d", &start, &end) == 2)
{
for (i = start; i <= end; i++)
{
a = i / 100;
b = i / 10 % 10;
c = i % 10;
//total = pow(c, 3) + pow(a, 3) + pow(b, 3);
if ((a*a*a + b*b*b + c*c*c) == i) //满足水仙花
{
if (size == 0) //size=0输出第一个水仙花数
{
printf("%d", i);
}
else //size++输出第二。。第n个水仙花数
{
printf(" %d", i);
}
size++; //个数++;
}
}
if (size == 0) //范个数为0,则说有满足条件的
{
printf("no");
}
printf("\n");
}
return 0;
}
百度百科-水仙花数
本回答被网友采纳C语言计算出"水仙花"代下:
运行结果如下:
扩料
解题思路:这里提供了一种算法,即使用三个for循环确定三位数字,最外层的for循环即确定百位上的数字,不为0即只在1~9之间循环,同理,其他的两个for循环即确定十位和个位的数字,可在0~9之间循环。然后使用了一个核心的判断语句,当这个数值等于i^3+j^3+k^3时,才输出结果,这样就得出了水仙花数。
水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
本回答被网友采纳C写水仙花数要将给出的三位数的个位位、百位分别拆分,并求其立(s),若s与给出的三位数相等, 三位数为“水仙花数”,反之,则不是水仙花数。
#include <stdio.h>
int main()
{
int hun, ten, ind, n;
printf("result is:");
for( n=100; n<1000; n++ ) /*整数的取值范围*/
{
hun = n / 100;
ten = (n-hun*100) / 10;
ind = n % 10;
if(n == hun*hun*hun + ten*ten*ten + ind*ind*ind) /*各位上的立方和是否与原数n相等*/
printf("%d ", n);
}
printf("\n");
return 0;
}
扩展资料
C语言水仙花数代码设计思想:
1、将n整除以100,得出n在百位上的数字hun。
2、将(n-i*100)整除以10(或将n先整除以10再对10求模n/10%10),得出n在十位上的数字ten。
3、将n对10取余,得出n在个位上的数字ind。
4、求得这三个数字的立方和是否与其本身相等,若相等,则该数为水仙花数。
水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身 。
参考资料:百度百科—水仙花数
本回答被网友采纳 main(){ int ge,shi,bai,number; /*定义个十位,百位*/ for(number=100;number<1000;number++) { bai=number/100; shi=(number%100)/10; ge=number%10; if(number==bai*bai*bai+shi*shi*shi+ge*ge*ge) /*若满足条件则显示*/ printf("\nnumber=%d\n",number); } getch();}楼把另外2种算法 仔细描么?谢谢找出所有3位水的程序:
#include<stdio.h>
int main()
{
int i,a,b,c;
for(i=100;i<1000;i++)
{
a=i/100; //百位数
b=i/10%10; //数
c=i%10; //个位数
if(i==a*a*a+b*b*b+c*c*c)
printf("%d\n",i);
}
getch();
}
括号错#include<stdio.h>int main(){int i,j,k,n;for(n=100;n<=999;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%d/n",n);} //应该查也括进去!return 0;}追问
好的,谢谢追答
不客气
在100-999之间的三位数ABC,满足A³+B³+C³=ABC,就称ABC为水仙花数。
根据描述和提供的代码,只需要对输出的结果进行即可,修改后的代码如下:
#include<stdio.h>
int main()
{
int i,a,b,c;
for(i=100;i<=999;i++)
{
a=i/100;
b=i/10%10;
c=i%10;
if(i == a*a*a + b*b*b + c*c*c)
printf("%d is a daffodil number.\n", i);
}
return 0;
}
程序运行结果:
本回答被网友采纳
#include <stdio.h>
int main(){ int i,a,b,c,j=0,f[1000]; for(i=100;i<1000;i++) {a=i%10; b=i/10%10;c=i/100; if(i==a*a*a+b*b*b+c*c*c) f[j++]=i; } for(int k=0;k<j;k++) { printf("%d ",f[k]); } printf("\n"); for(int k=j-1;k>=0;k--) { printf("%d ",f[k]); } return 0;}Tags:水仙花数,c语言水仙花数,C语言编程输出所有的“水仙花数”。
相关文章
随机图文
-
求《赠我予白》的完整版txt百度云资源!,求《赠我予白
yǔ白作者:小八老爷:沈佑白是高傲的,而徐品羽于他的。PS:链出来回答就会被删,但是你是匿名,我加不了... -
美国总统特朗普到底多少岁了?,美国总统特郎普的年龄?
唐纳德·特朗普(Donald Trump),1946年6月14日生于纽约,美国共和党籍政治家、企业家、商人,第45任美国... -
求书:男主占有欲强,对女主很霸道的小说?要有囚禁这
玩宠 (作雨革月)男主彻头彻尾的畜牲他根本不懂什么。用钱势纨绔子弟。他只会威胁,凌辱,性暴力。女主和... -
”流年笑掷 未来可期”这句话是什么意思?,未来可期不
是未来的日子是值得期待的,辜负美好的时光。生活,辛苦与磨砺,都为深刻的体会与印记,苦心励志,心怀感恩...