标题:水仙花问题
只看楼主
xunyixiangch
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-2-5
结帖率:50%
已结贴  问题点数:20 回复次数:7 
水仙花问题
输入一个三位数整数,各个位上数的立方和相加等于其本身。输出所有符合的三位数。代码怎么写啊。。
例如abc=a*a*a+b*b*b+c*c*c=abc
搜索更多相关主题的帖子: 水仙花 
2010-04-03 07:30
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
得分:0 
不知道有没有简单的方法,笨方法就是一个一个数地检测,附合条件地则输出


QQ:81704464
2010-04-03 07:41
jackwain
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:168
专家分:134
注 册:2009-3-21
得分:4 
using System;

class Anysis
{
    static void Main()
    {
        int[] var1 = new int[3];

        int total;

        int i, j, k;

        Console.WriteLine("Enter a value which less than thousand:");
        total = Convert.ToInt32(Console.ReadLine());

        int index = 0;

        int var2 = total;




        while (var2 != 0)    //分解出这位数字 个、十,百
        {

            var1[index] = var2 % 10;

            var2 = var2 / 10;

            index++;
        }


        i = var1[0] * var1[0] * var1[0];
        j = var1[1] * var1[1] * var1[1];
        k = var1[2] * var1[2] * var1[2];



        if ((i + j + k) == total)
            Console.WriteLine("{0} 是水仙花数", total);
        else
            Console.WriteLine("No");
        Console.ReadKey();
    }     
         

 }
。。好像这样了
2010-04-03 15:41
mjx5
Rank: 2
等 级:论坛游民
威 望:1
帖 子:62
专家分:47
注 册:2010-3-22
得分:6 
for (int i = 100; i < 1000; i++)
        {
            int g = i % 10;
            int s = ((i - g) / 10) % 10;
            int b = i / 100;
            if (i == g*g*g+s*s*s+b*b*b )
            { Response.Write(i); }
        }
2010-04-03 20:07
封闭
Rank: 9Rank: 9Rank: 9
来 自:广东省汕头市
等 级:蜘蛛侠
威 望:1
帖 子:501
专家分:1084
注 册:2007-9-14
得分:10 
class Test
{
    static void main(string[] args)
    {
            for (int num = 100; num < 1000; num++)
            {
                int x = num / 100;
                int y = num / 10 % 10;
                int z = num % 10;

                double sum = Math.Pow(x, 3) + Math.Pow(y, 3) + Math.Pow(z, 3);
                if (sum == num)
                    Console.WriteLine("这是一个水仙花数:" + num);
            }
    }
}
2010-04-04 16:08
xunyixiangch
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-2-5
得分:0 
回复 3楼 jackwain
你这是输入一个三位数求是否符合要求,但我要求的是它自动输出符合要求的结果。。
 int a, b, c, s;
            s = 100;
            do
            {


                a = s / 100;
                c = s % 100;
                b = c/10;

                c = (c-c/10*10);
                if (Math.Pow(a, 3) + Math.Pow(b, 3) + Math.Pow(c, 3) == s)
                    Console.WriteLine(s);
                s++;

            }
            while (s < 1000);
2010-04-05 17:02
古义难解
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-4-8
得分:0 
楼主好像你要的就是“输入一个三位数整数”得出是不是水仙花数。。
呵呵
int a, b , c ;
            for (a = 0; a <= 9;a++ )
                for (b = 0; b<= 9; b++)
                    for (c = 0; c <= 9;c++)if (a * a * a + b * b * b + c * c * c == 100 * a + 10 * b + c && 100 * a + 10 * b + c >= 100 && 100 * a + 10 * b + c <= 999)
{ Console.WriteLine("{0}{1}{2}", a, b, c); }
2010-04-08 12:25
huayu0815
Rank: 1
来 自:河南洛阳
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-5-4
得分:0 
我遇到了相似的题目,不过是求21的,输出所有的21位的数,要求每一位的21次方的和加起来等于这个数,答案在3分钟之内解出,怎么写呀?

努力奋斗
2011-05-04 14:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-301493-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056368 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved