整理了一下关于C语言的一些经典问题,觉得还是很有趣的,分享一下之前的一个很经典的问题,水仙花数
根据某度的结果可以知道:
水仙花数只是自幂数的一种,严格来说3位数的3次幂数才称为水仙花数
所以在C代码当中实现我们需要注意的就是实现三位以内的数据计算就可以了
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, j, k,n;
printf("水仙花数是:\n");
for(n=0;n<1000;n++)
{
//算法过程,
i = n/100; //百位
j = n/10%10; //十位
k = n%10; //个位
if((n==(i*i*i)+(j*j*j)+(k*k*k)))
if(n!=0&&n!=1) //设置一个条件,水仙花数是三位的,算法进行计算的时候会把0和1计算进去,所以去除0和1
printf("%d\n",n);
}
return 0;
}
在此代码当中,考虑到水仙花数是三位数,假如不加上0和1的判断条件,输出的结果当中就会包含有0和1,这个不是我们想要的呃结果,所以,这个条件就需要设置
这个是不写0和1的判断的
这样就可以得到 所谓的水仙花数
如果您有更好的想法,或者作者的文章当中有什么不正确的地方,欢迎在评论区留言讨论,大家一起进步!
如果您觉得文章对您有帮助,请麻烦点赞支持一下哈!您的支持是我最大的创作动力!