当前位置:首页 » 编程语言 » c语言水仙花代码返回布尔值
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言水仙花代码返回布尔值

发布时间: 2022-07-16 21:52:41

1. c语言HDOJ2010水仙花数代码求详解

#include<stdio.h>
intmain()
{
intm,n,a,b,c,num;
while(scanf("%d%d",&m,&n)!=EOF)
{
num=0;
while(m<=n)
{
a=m/100;//取该三位数的百位,即123中的1(因为为int类型,所以123/100=1)
b=m/10%10;//取该三位数的十位,即123中的2(123/10=12,12%10=2)
c=m%10;//取该三位数的个位,即3(123%10=3)
if(m==a*a*a+b*b*b+c*c*c)//各个位上的数立方,判断是否等于原三位数
{
num+=1;
if(num==1)
printf("%d",m);//注意最后一行不要多空格
else
printf("%d",m);//同上
}
m++;
}
if(num)
printf(" ");
elseprintf("no ");
}
return0;
}

2. 水仙花数c语言

C语言输出水仙花数的具体分析和实现流程如下:

1、水仙花数的含义

“水仙花数”是一个三位数其各位数字的立方和等于该数本身。例如:3^3 + 7^3+ 0^3 = 370

2、算法分析

把给出的某个三位数的个位、十位、百位分别拆分,并求其立方和(设为sum),若sum与给出的三位数相等, 则为“水仙花数”。

3、算法设计

“水仙花数”是一个三位数,可以确定该数的取值范围是 100〜999。对应的循环条件如下:

for (n=10; n<1000; n++) {}

(2)c语言水仙花代码返回布尔值扩展阅读:

常见水仙花数

水仙花数又称阿姆斯特朗数。

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

3. c语言编程:水仙花数

#include<stdio.h>
#include<stdilib.h>
main()
{
int i, a, b, c;
for( i=100; i<=999; i++ ){
c=i%100; //个位
a=i/100; //百位
b=i-100*a-c; //十位
if( a*a*a+b*b*b+c*c*c == i )
printf("%d\t",i);
}
system("pause");
return 0;
}

4. “水仙花数”C语言程序

代码如下:

#include <stdio.h>

int main()

{

printf("输出水仙花数: ");

int i=100;

for( ; i<1000; i++){

int num_0 = i%10;

int num_1 = i/10%10;

int num_2 = i/10/10%10;

if(i==(num_0*num_0*num_0+num_1*num_1*num_1+num_2*num_2*num_2))

printf("%d ", i);

}

return 0;

}

(4)c语言水仙花代码返回布尔值扩展阅读

自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。

n为1时,自幂数称为独身数。显然,0,1,2,3,4,5,6,7,8,9都是自幂数。

n为2时,没有自幂数。

n为3时,自幂数称为水仙花数,有4个:153,370,371,407;

n为4时,自幂数称为四叶玫瑰数,共有3个:1634,8208,9474;

n为5时,自幂数称为五角星数,共有3个:54748,92727,93084;

n为6时,自幂数称为六合数, 只有1个:548834;

n为7时,自幂数称为北斗七星数, 共有4个:1741725,4210818,9800817,9926315;

n为8时,自幂数称为八仙数, 共有3个:24678050,24678051,88593477;

n为9时,自幂数称为九九重阳数,共有4个:146511208,472335975,534494836,912985153;

n为10时,自幂数称为十全十美数,只有1个:4679307774。

5. C语言新手求助,两段求水仙花数的代码,结果却不一样

第二段代码的判断语句,使用的函数double pow(double, double)其参数值和函数返回值,都是双精度浮点。,双精度浮点进行逻辑判断时,会存在精度误差,导致结果不完全准确,可将这句修改如下:

if(floor(pow(a,3)+pow(b,3)+pow(c,3)+0.5)==num)printf("%d
",num);
这样就能保证等号两边的值不会因为double的误差导致错误结果。

如满意,欢迎采纳,谢谢
如有疑问,欢迎追问

6. 水仙花数的c语言编程。

C语言具体实现水仙花过程如下:

一、问题描述:

输出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 13 + 53 + 33。

二、问题分析:

根据“水仙花数”的定义,判断一个数是否为“水仙花数”,最重要的是要把给出的三位数的个位、十位、百位分别拆分,并求其立方和(设为s),若s与给出的三位数相等, 三位数为“水仙花数”,反之,则不是。

三、算法设计:

“水仙花数”是指满足某一条件的三位数,根据这一信息可以确定整数的取值范围是 100〜999。对应的循环条件如下:

for(n=10; n<1000; n++) { //...... }

四、完整的代码:

7. C语言编写水仙花数

#include<stdio.h>
void main()
{
long int m,s,n; /*定义长整形数字:m,s,n,m存放判断的数字,s存放各位数字之和,n存放中间数字*/
int p; /*定义整形数字,来存放每个位的数字*/
printf("请输入一个整数:");
scanf("%ld",&m);/*输入长整形数字*/
s=0; /*赋予s值为0*/
p=m%10; /*求得m的第一位数字,从各位开始*/
s+=p*p*p;
n=m/10; /*把m数字的第一位去掉,直接除以10*/
while(n!=0) /*当n不等于0时*/
{ p=n%10; /*求的每一位数字*/
s+=p*p*p; /*继续求和*/
n=n/10; } /*继续依次去掉每一位数字*/
if(s==m) printf("是水仙花数\n"); /*最后,如果求得的和等于m,则为水仙花数*/
else printf("不是水仙花数\n");
}
/* PS:上述代码,是输入一个数字,判断是否是水仙花数,如果,想求其他的,可把上述代码移植到其他程序中。经测试,可以使用。*/
/*PS::::如还有不懂,可继续*/