c语言求水仙花数的5种方法
C语言:,输出所有的“水仙花数”?
C语言:,输出所有的“水仙花数”?
水仙花数是指各位数字的立方和等于该本身的三位数。
方法一:首先确定水仙花数n的可能的取值的范围,因为n是一个三位数,所以其取值在100-999之前变化。显然这是一个技术控制二点循环。对于n的每一个可能的取值,首先分离出其百位数字i、十位数字j、个位数字k,然后通过判定可确认n是否为水仙花数。
方法二:设水仙花数的百位十位个位数字分别是i、j、k,通过遍历i、j、k的所有取值(注意i不能为0,对于三位数而言),并进行判断。
c语言程序,输入一个数判断是否为水仙花数,急求?
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 5^3 3^3 153)
注意我这只限于3位数
#includestdio.h
void main()
{
int x,y,z;
int n,m;
printf(Please input number1001000
);
scanf(d,n);
xn/100;//X 是百位的数
y(n-x*100)/10;//y是十位的数
zn;//z是个位的数
mx*x*x y*y*y z*z*z;
if(nm)
printf(TRUE);
else
printf(FALSE);
}
c语言。用if语句编程,输入一个三位数,判断是否为水仙花数?
1、严格的水仙花是三位数,并且其每位数的三次方的和等于它的本身。
例子如下:370是一个严格的水仙花数,3^3 7^3 0^3370.
2、C 语言的水仙花数实现代码:
#include
#include
int main (void) {
long n,p;
long c,a,j,s[30],i,q;
p0;
a10;
scanf(ld,n);
qn;
for (i1;c10 ; i) {
cn/a;
aa*10;
}printf(ild,ald
,i,a);
for (j1;a10 ; j) {
s[j]n/(a/10);
nn-s[j]*(a/10);
aa/10;
printf(jld,ald
,j,a);
}
for (j1;j
p pow(s[j],i);
printf(pld,ild
,p,i);
}
if (pq) {
printf(ld 为水仙花数,q);
}else {
printf(ld 该数不是水仙花数,q);
}
return 0;
}