>凡事网 导航

c语言编写程序 水仙花数 玫瑰花数 水仙花数和玫瑰花数的问题

2024-06-29m.fan-pin.com
c语言输出所有得水仙花数,玫瑰花数和五角星数~

水仙花数即三位的自幂数。所谓自幂数,就是指一个 n 位数 ( n≥3 ),其每位上的数字的 n 次幂之和等于本身。
所以水仙花数,首先是三位数,形式为abc,同时a,b,c的立方和值与原本数相同。
类似的还有
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
等等。

对于水仙花数的判断,需要按照以下步骤:
1 提取该数的个位,十位,百位值。
2 计算三个数的立方和。
3 与原值比较,如相等则是。

要输出所有水仙花数,需要:
1 对所有三位数,即100到999遍历;
2 对每个数判断是否为水仙花数,如是则退出。
当循环结束,所有的水仙花数就输出成功了。
代码如下:

int isNarcissistic(int n)
{
int a = n/100;
int b = n/10%10;
int c = n%10;
return a*a*a + b*b*b + c*c*c == n;
}

int main()
{
int i;
for(i = 100; i< 1000; i ++)
if(isNarcissistic(i)) printf("%d ",i);
}

玫瑰花束用C语言表达:#include #include int main(void) if (sum == i) } printf("
"); system("pause"); return (0); }

1
#include <stdio.h>
#include <stdlib.h>
int flower(int n)
{
int i, j, k;
i = n % 10;
j = n / 10 % 10;
k = n / 100;
if (i*i*i + j*j*j + k*k*k == n)
return 1;
else
return 0;
}
int main(void)
{
int i;
for (i = 100; i < 1000; i++)
{
if (flower(i) == 1)
printf("%d ", i);
}
return 0;
}
2.
#include <stdio.h>
#include <stdlib.h>
int rose(int n)
{
int i, j, k,m;
i = n % 10;
j = n / 10 % 10;
k = n / 100%10;
m = n / 1000;
if (i*i*i*i + j*j*j*j + k*k*k*k+m*m*m*m == n)
return 1;
else
return 0;
}
int main(void)
{
int i;
for (i = 1000; i < 10000; i++)
{
if (rose(i) == 1)
printf("%d ", i);
}
return 0;
}

用C语言编写程序,求1000到9999之间水仙花数的平均值。
include<stdio.h> int main(){ int i,a,b,c,d,n=0,s=0;for(i=1000;i<10000;i++){ a=i\/1000; \/\/千位数 b=i\/100%10; \/\/百位数 c=i\/10%10; \/\/十位数 d=i%10; \/\/个位数 if(i==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d){n++;s+=i;printf("%d\\n...

编写程序求100-999之间的水仙花数。所谓水仙花数是指一个n位数(n≥3...
include <stdio.h> int main(){ int a, b, c, i;printf("水仙花数为:\\n");for (i = 100; i <= 999; i++){ a = i \/ 100;b = i % 100 \/ 10;c = i % 100 % 10;if (i == a * a * a + b * b * b + c * c * c)printf("%d\\n", i);} } ...

c语言,求水仙花数(三位数)。用do while?
以下是使用 C 语言 do-while 循环来求解三位数中的水仙花数的代码:```c include <stdio.h> include <math.h> int main() { int i = 100;do { int a = i \/ 100;int b = i \/ 10 % 10;int c = i % 10;if (i == pow(a, 3) + pow(b, 3) + pow(c, 3)) { printf...

c语言编程题 找出所有的水仙花数,水仙花数是指一个3位数
for(int i=100;i<=999;i++){ \/\/分割出个位 int a=i%10;\/\/分割出十位 int b=i\/10%10;\/\/分割出百位 int c=i\/100;\/\/判断该数是否等于【个位的三次方+十位的三次方+百位的三次方】if(i==(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3))){ System.out.println(i+"是水仙花...

VB实现水仙花数的程序代码?
VB实现水仙花数的程序代码如下:PrivateSubCommand_Click()Fornum=100To999 a=numMod10 b=num\\10Mod10 c=num\\100 Ifa^3+b^3+c^3=numThenPrintnum Nextnum EndSub 实现具体步骤如下:1.启动VB程序,新建一个标准的exe项目,如下图。2.在窗体上绘制命令按钮(名称:命令),双击命令按钮以进入代码...

C语言编写程序求水仙花数
include<stdio.h>#include<math.h>main(){ int a,b,c,Y; int sum=100; while(sum<=999) {a=sum\/100;b=sum%100\/10;c=sum%10;Y=a*a*a+b*b*b+c*c*c; if(Y==sum)\/\/判断相当是用== printf("%d",Y); \/\/else 这个else一定要去掉sum++; } retu...

用穷举法编写程序,找出所有的“水仙花数”。水仙花数是指一个三位数...
穷举法求水仙花数。用for循环来穷举每一个数。C++语言版:include<iostream> using namespace std;int main(){ int t=0,flag=0,m,n,temp,i,ge,shi,bai;while (cin>>m>>n){ t=0;if (m>n){ temp=n;n=m;m=temp;} for (i=m;i<=n;i++){ ge=i%10;shi=i\/10%10;bai=i\/10\/...

C#语言100~999内的水仙花数C#100~999内的水仙花数windows应用程序
include <iostream> using namespace std;bool When_data (int);int main(){ cout << "所有的水仙花数如下:"<< endl << "==="<< endl;for (int n =100;n < 1000;n++)\/\/遍历所有三位数 { if (When_data (n))cout << n << '\\t';} \/\/int n;\/\/次两行代码为查看结果而设 ...

c语言编写程序 水仙花数 玫瑰花数
1 include <stdio.h> include <stdlib.h> int flower(int n){ int i, j, k;i = n % 10;j = n \/ 10 % 10;k = n \/ 100;if (i*i*i + j*j*j + k*k*k == n)return 1;else return 0;} int main(void){ int i;for (i = 100; i < 1000; i++){ if (flower...

C语言的水仙花数,怎么搞?
循环就从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相等,如果相等则为水仙花数并输出 } } ...

相关链接2

返回顶部
凡事房车自主流
凡事网