【心得】切忌过早过度设计【编码】水仙花数-2016.07.30

过早过度的设计很可能导致意想不到的事倍功半的效果。

先看一个很简单的题目:

水仙花数
Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)

Problem Description:

春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。现在要求输出所有在m和n范围内的水仙花数。

输入

输入数据有多组,每组占一行,包括两个整数m和n(100int main(){    int m,n;    while(std::cin>>m>>n){        int m1 = m%10;            //个        int m2 = (m/10)%10;        //十        int m3 = m/100;            //百        int n1 = n%10;        int n2 = (n/10)%10;        int n3 = n/100;        int a = m3;        //1-9    //bai        int b = m2;        //0-9    //shi        int c = m1;        //0-9    //ge        int num = 0;        int cnt = 0;        for(a = m3; a n)                //    break;                if(a == n3)                {                    if(b > n2)                    {                        break;                    }                }                num +=(b*b*b);                for(c = m1;(num n)                    //    break;                    if((b == n2)&&(a == n3))                    {                        if(c > n3)                        {                            break;                        }                    }                    num+=(c*c*c);                        if(num == (a*100+b*10+c)){                        if(cnt != 0){                            std::coutusing namespace std;int main (){    int a,b;        while(cin>>a>>b){        int i,j,k,n;        int cnt = 0;        for (n=a;n<=b;n++)        {            i=n/100;            j=n/10-i*10;            k=n%10;            if (n == i*i*i + j*j*j + k*k*k)            {                if(cnt != 0){                    std::cout<<" ";                }                cout<<n;                ++cnt;            }        }        if(cnt == 0)        {            std::cout<<"no";        }    }    return 0;}

结论

写代码和做许多事情一样,一开始先不要想着很高的标准和效率。往往是先按照自己的水平写出一个demo来,然后逐步优化。

c++

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部