用c语言编程1000以内的“水仙花数”、并且结果偶数输出奇数不输出、求大神速度指教、拜托了🙏
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用c语言编程1000以内的“水仙花数”、并且结果偶数输出奇数不输出、求大神速度指教、拜托了🙏相关的知识,希望对你有一定的参考价值。
#include<stdio.h>int main()
int i,j,k;
for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) //如果是水仙花数
if((i*100+j*10+k)%2==0)//如果是偶数
printf("%d ",i*100+j*10+k);
您好 不知道这样是否满足您的要求
参考技术A #include "stdio.h"void main()
int a,b,c,i;
for(i=100;i<1000;i++)
a=i/100;
b=i%100/10;
c=i%10;
if((a*a*a+b*b*b+c*c*c==i)&&(i%2==0))
printf("%d\t",i);
参考技术B #include <stdio.h>
int Shuixian(int n)
int m=0,t=n;
int arr[4],arr2[4];
while(t>0)
arr[m]=arr2[m]=t%10;
t=t/10;
m++;
int i,j,sum=0;
for(i=0;i<m;i++)
for(j=1;j<m;j++)
arr[i]=arr[i]*arr2[i];
sum+=arr[i];
return (sum==n);
int main()
int i;
for(i=2;i<=1000;i+=2)
if(Shuixian(i))
printf("%4d",i);
return 0;
C语言-求三位数的水仙花数
参考技术A 首先说一下什么是水仙花数,就是一个三位数,它的各个位数上的数字的立方相加等于它本身,例如153,1的立方1,5的立方125,3的立方9,1+125+9=153求水仙花数的基本思想
首先要满足三位数这个条件,所以循环从i=100到i =999
然后就是要取这个三位数各个位数的数字,取百位上的数,用除法i/100,因为i是int 类型所以结果就是百位上的数字
十位上的数,先取10的余数再除以10
个位上的数,直接取10的余数即可
最后再用一个if语句判断一下各个位数立方和是否等于这个数i
下面是我上机实验的图片
其实求各个位数的方法有点不一样,没影响的,方法很多,但是我觉得上述文字中方法更简洁
3.12
今天早上起来又看到一个新方法
可以用do while
以上是关于用c语言编程1000以内的“水仙花数”、并且结果偶数输出奇数不输出、求大神速度指教、拜托了🙏的主要内容,如果未能解决你的问题,请参考以下文章