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

c语言多位数水仙花数

发布时间: 2022-07-19 21:51:51

c语言的水仙花数,怎么搞

#include<stdio.h>
#include<math.h>
int main() {
int N,i,sum,n;
scanf("%d",&N);//输入
for(i=pow(10,N-1);i<pow(10,N);i++)//N是几位数,循环就从10的N-1次方至N次方,比如说N为3,那就是10的2次方(100)至10的3次方(1000)
{
sum=0;
n=i;
while(n)
{
sum+=pow(n%10,N);//计算每一位的N次方的和至sum
n=n/10;
}
if(sum==i) printf("%d\n",i);//比较和是否与原数i相等,如果相等则为水仙花数并输出
}
}

② c语言水仙花数

#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(" ");

}

return 0;

}

(2)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.求得这三个数字的立方和是否与其本身相等,若相等,则该数为水仙花数。

网络-水仙花数

③ 水仙花数的c语言编程。

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

一、问题描述:

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

二、问题分析:

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

三、算法设计:

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

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

四、完整的代码:

④ c语言输出所有水仙花数

1、首先需要打开Dev-c++软件,点击“新建源代码”。

⑤ 水仙花数c语言

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

1、水仙花数的含义

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

2、算法分析

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

3、算法设计

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

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

(5)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

⑥ “水仙花数”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;

}

(6)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。

⑦ c语言求水仙花数!!!!

#include"stdio.h"
intmain(intargc,char*argv[]){
intn,i,j,k,t,s,m,x;
printf("Pleaseentern(int2<n<8)... n=");
if(scanf("%d",&n)!=1||n<3||n>7){
printf("Inputerror,exit... ");
return0;
}
for(k=1,i=0;i<n;i++,k*=10);
for(i=k/10;i<k;i++){
for(s=0,t=i;t>0;t/=10){
for(x=1,j=t%10,m=n;m--;x*=j);
s+=x;
}
if(s==i)
printf("%d ",s);
}
printf(" ");
return0;
}

运行样例:

⑧ C语言,水仙花数

在内层循环初始化的地方b = 0放在两层循环之间,因为你那个地方相当于重新定义了一个局部变量b=0,所以循环里面访问的b是局部变量,然后内层循环外面访问的b一直是0,判断不成立,无法打印,望采纳