c语言学习:[3]求水仙花数
所谓的水仙花数是指:一个三位数,其各个位上的数字的立方和等于该数本身。可见水仙花数介于100到999之间。下面我们用c语言编程来求一下其个数。编程环境:Microsoft Visual C++ 6.0。
工具/原料
Microsoft Visual C++ 6.0
常规求法
1、# include <stdio.h>void main()辘腋粪梯{ int i,j,k,n; printf("水仙花数:\n"稆糨孝汶;); for (n=100; n<1000; n++) { i=n/100; j=(n-i*100)/10; k=n%10; if(i*i*i+j*j*j+k*k*k==n) { printf("%d ",n); } }}编程界面和输出结果:
![c语言学习:[3]求水仙花数](https://exp-picture.cdn.bcebos.com/340e4eb8b43ea8db71dda286189c2cf7deb2162f.jpg)
个人认为巧妙的求法
1、#include<stdio.h>void main(){ 坡纠课柩int i,j,k; for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) if(100*i+10*j+k==i*i*i+j*j*j+k*k*k) printf("%d%d%d ",i,j,k);}编程界面和输出结果:
![c语言学习:[3]求水仙花数](https://exp-picture.cdn.bcebos.com/cf6d451b1edef4dc90ae4bab45ecd3d968750c2f.jpg)
2、附题1:输出国际象棋棋盘。
![c语言学习:[3]求水仙花数](https://exp-picture.cdn.bcebos.com/e57a258602214f57d8c10b0f732064fb970b732f.jpg)
3、附题2:由两个条件,求出满足这两个条件的数。显示出了C语言的精妙和快速计算。
![c语言学习:[3]求水仙花数](https://exp-picture.cdn.bcebos.com/30601b6104a355e9d739b063d22ae3efe178682f.jpg)
4、附题3:由*号组成大写字母C的图案。比较简单,大家可以先想想,再实际上机实践一下。
![c语言学习:[3]求水仙花数](https://exp-picture.cdn.bcebos.com/e2aefe781431dfb669fb0fd212cf02532e63632f.jpg)