A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 你好再见 中级黑马   /  2015-8-3 01:03  /  1023 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

没听说过啊

14 个回复

倒序浏览
个位数平法加十位数平方等于百位数平方的数,,应该是这样
回复 使用道具 举报
水仙花数,153=1*1*1+5*5*5+3*3*3,这种形式的数被称为水仙花数
回复 使用道具 举报
#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>
//水仙花数,153=1*1*1+5*5*5+3*3*3,求100~999里面有多少个这样的数?

int getShuiXianHua_for()
{
        int ge = 0;
        int shi = 0;
        int bai = 0;
        int i = 100;
        int cnt = 0;
        for (i = 100; i <= 999; i++)
        {
                int num = i;
                ge = num % 10;
                num = num / 10;
                shi = num % 10;
                num = num/ 10;
                bai = num % 10;
                num = num / 10;

                if ((ge*ge*ge + shi*shi*shi + bai*bai*bai) == i)
                {
                        cnt++;
                }
        }

        return cnt;
}

int getShuiXianHua_while()
{
        int i = 100;
        int ge = 0;
        int shi = 0;
        int bai = 0;
        int cnt = 0;

        while (i<=999)
        {
                int num = i;
                ge = num % 10;
                num = num / 10;
                shi = num % 10;
                num /= 10;
                bai = num % 10;

                if (i == (ge*ge*ge + shi*shi*shi + bai*bai*bai))
                {
                        cnt++;
                }

                i++;
        }

        return cnt;
}

int getShuiXianHua_dowhile()
{
        int cnt = 0;
        int ge = 0;
        int bai = 0;
        int shi = 0;
        int i = 100;

        do
        {
                int num = i;
                ge = num % 10;
                num /= 10;
                shi = num % 10;
                num /= 10;
                bai = num % 10;

                if (i == (ge*ge*ge + shi*shi*shi + bai*bai*bai))
                {
                        cnt++;
                }
                i++;
        } while (i <= 999);

        return cnt;
}

int getShuiXianHua_goto()
{
        int num = 0;
        int bai = 0;
        int shi = 0;
        int ge = 0;
        int cnt = 0;
        int i = 100;

LOOP_I:
        if (i > 999)
        {
                goto END;
        }
        num = i;
        ge = num % 10;
        num /= 10;
        shi = num % 10;
        num /= 10;
        bai = num % 10;

        if ((ge*ge*ge + shi*shi*shi + bai*bai*bai) == i)
        {
                cnt++;
        }

        i++;
        goto LOOP_I;
END:
        return cnt;
}


int main()
{
        //int cnt = getShuiXianHua_for();
        //int cnt = getShuiXianHua_while();

        //int cnt = getShuiXianHua_dowhile();

        int cnt = getShuiXianHua_goto();

        printf("%d\n",cnt);

        system("pause");
        return 0;
}
回复 使用道具 举报
#include <stdio.h>

int main(int argc, const char * argv[]) {

    for (int n = 100; n < 1000; n++) {
        int bai,shi,ge;
        bai = n/100;
        shi = n%100/10;
        ge = n%100%10;
        if (bai*bai*bai+shi*shi*shi+ge*ge*ge == n) {
            printf("%d\t",n);
        }else{
            continue;
        }
    }
   
    return 0;
}
回复 使用道具 举报
个位数立法加十位数立方等于百位数立方的数
回复 使用道具 举报
#include <stdio.h>
int main(int argc, const char * argv[]) {
    // insert code here...
    {
        int i,j,k,n;
        printf("1000内所有的水仙花数:\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",n);
        }
    }
}
//这个最简单
回复 使用道具 举报
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)

还是很有趣的一种数字
回复 使用道具 举报
个位数立方加十位数立方加百位数立方之和等于数本身。例:153=1*1*1+5*5*5+3*3*3
回复 使用道具 举报
懂得自己百度啊,  搞IT 的要学会Google
回复 使用道具 举报
这种问题还是请教百度大神最好
回复 使用道具 举报
个位数立方加十位数立方加百位数立方之和等于数本身
回复 使用道具 举报
qq358556392 发表于 2015-8-3 18:32
#include

int main(int argc, const char * argv[]) {

厉害!!真的学习到了!!
回复 使用道具 举报
个位数立方+十位数立方+百位数立方==这个三位数
回复 使用道具 举报
就是各位的立方之和等于该数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马