1000以内水仙花数(嵌套循环)

来源:互联网 发布:python 多次try 编辑:程序博客网 时间:2024/05/16 17:50

*1000以内水仙花数(嵌套循环) 7.20


*水仙花数:(各位的立方和等于该数值本身)
算法实现:
1.首先定义三个变量把这个数分解成为百位,十位,和个位。
2.每一个数 int n又可以用(百位*100+十位*10+个位)间接求得。
3.再判断是否 int n与各个位的立方之和 int m相等即可。*


#include<iostream>using namespace std;int main(){    int i, j, k, m, n;    for (i = 0; i <= 9; i++)                   //百位变量    {        for (j = 0; j <= 9; j++)                    //十位变量        {            for (k = 0; k <= 9; k++)                //个位变量            {                n = i*100 + j*10 + k;     //数用(百位*100+十位*10+个位)求得                                              m = i*i*i+j*j*j+k*k*k;      //计算各个位的立方之和                    if (n == m)             //判断是否相等                    cout<<m<<"  ";            }        }    }    cout<<"\n";    return 0;}

心得:
1.一个数可以用转会成每个位乘以它的权位相加之和,这样分解开后,再根据题目条件判断每个位的取值;
2.for ()的嵌套循环从里面向外执行,内层执行完外层执行一次。
3.今天学习了三种控制语句
⑴选择语句(if ; if…else ; switch)
前两种的判断条件可以是一段数值域即可以用>,<符号;
后者只能是一个具体的数值。
⑵循环语句( for(); while())
⑶语句不是函数,定义在main()内的变量也能作用在各种语句的语句块内。


0 0
原创粉丝点击