用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以内的“水仙花数”、并且结果偶数输出奇数不输出、求大神速度指教、拜托了🙏的主要内容,如果未能解决你的问题,请参考以下文章

c语言求1000以内水仙花数。

用c语言输出1000以内的水仙花数

c语言1000以内的水仙花数

求水仙花数c语言

C语言,编程打印,1000以内所有的水仙花数,所谓水仙花数是指一个三位数,其个位数字立方和等于该数

编程输出1000以内的所有水仙花数,所谓水仙花数是指一个3位数,其各位数字的立方和等于其本身