zoukankan      html  css  js  c++  java
  • 水仙花数

    水仙花数

    ①我的程序

    #include<iostream>
    using namespace std;
    int main(void)
    {
    int s=0;
    for(int j=1;j<=9;j++)
    for(int k=j;k<=9;k++)
    for(int t=k;t<=9;t++)
    {
    s=j*j*j+k*k*k+t*t*t;
    if(s<100) continue;
    if(s>999) break;
    if(100<=s<=999) printf("%d ",s);

    }
    return 0;
    }

     测试:

     错误:1000以内的水仙花数共有4个,分别为:153、370、371、407。

                   重看题目发现水仙花数定义为3位数ABC满足ABC=A*A*A+B*B*B+C*C*C,而写程序时求得的是所有为三个一位数立方的和的三位数。

     改正:先表示出某三位数的百位、十位、个位数,再由条件语句该三位数等于三个位数的立方和,从而求得。

     改正后的程序

    #include<iostream>
    using namespace std;
    int main(void)
    {
    int a,b,c,d;
    for(int i=100;i<1000;i++){
    int a=i/100;//百位
    int b=(i%100)/10;//十位
    int c=i%10;//个位
    if(i==a*a*a+b*b*b+c*c*c) printf("%d ",i);
    else continue;
    }
    return 0;
    }

    测试:

     成功!

  • 相关阅读:
    Java学习总结
    John 尼姆博弈
    博弈知识汇总(转)
    坏习纠正
    QDUOJ 河老师的新年礼物(尺取法)
    HDU
    QDUOJ ycb的ACM进阶之路 二进制多重背包
    HDU
    HDU
    POJ
  • 原文地址:https://www.cnblogs.com/slay/p/9327859.html
Copyright © 2011-2022 走看看