| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 735 人关注过本帖
标题:菜鸟!求一题目答案?
只看楼主 加入收藏
ezhon0000
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-3-21
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
菜鸟!求一题目答案?
1-9九位数,填空。四位数乘以一位数,等于四位数。那九个数字不能重复使用 这个怎么做啊?

用for语句对吗?
2010-03-21 23:04
真的不是高手
Rank: 1
等 级:新手上路
帖 子:2
专家分:4
注 册:2010-3-21
收藏
得分:4 
int jishu=1234;i1;i2;i3;i4;xx;
for (;jishu<=9876;jishu++){i1=jishu%10;    i2=jishu/10%10;    i3=jishu/100%10;    i4=jishu/1000%10;   
                            if (i1==i2||i1==i3||i1==i4||i2==i3||i3==i4)    continue;
                            for(xx=1;xx<9;xx++) {if(xx==i1||xx==i2||xx==i3||xx==i4)  continue;
                                                 if(xx*jishu<10000)    printf ("%d*%d\n",jishu,xx);}
                            }
2010-03-22 00:21
ezhon0000
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-3-21
收藏
得分:0 
求详解!注译
2010-03-22 08:07
ezhon0000
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-3-21
收藏
得分:0 
2010-03-22 09:47
ezhon0000
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2010-3-21
收藏
得分:0 
有那么难吗?怎么没人回答!还是太简单了
2010-03-22 15:19
xiaxianlin
Rank: 2
等 级:论坛游民
帖 子:19
专家分:56
注 册:2010-3-12
收藏
得分:4 
还真不好判断
2010-03-23 21:57
月光321
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:124
注 册:2010-3-22
收藏
得分:4 
不明白!
2010-03-27 10:59
ouxianzhi520
Rank: 8Rank: 8
来 自:重庆
等 级:蝙蝠侠
威 望:3
帖 子:245
专家分:932
注 册:2007-12-1
收藏
得分:4 
程序代码:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int jishu = 1234,i1, i2, i3, i4, xx;
            for (; jishu <= 9876; jishu++)
            {
                //jishu = i4 i3 i2 i1;
                //取得每位的数字值
                i1 = jishu % 10;
                i2 = jishu / 10 % 10;
                i3 = jishu / 100 % 10;
                i4 = jishu / 1000 % 10;
                if (i1 == i2 || i1 == i3 || i1 == i4 || i2 == i3 || i3 == i4) //如果有相同的数字,则继续判断
                    continue;
                for (xx = 1; xx < 9; xx++)
                {
                    if (xx == i1 || xx == i2 || xx == i3 || xx == i4) //如果一位数与四位数相同,则不参与 计算
                        continue;
                    if (xx * jishu < 10000)
                    {
                        int result = xx * jishu;
                        int ji1,ji2,ji3,ji4;
                        //取得计算结果的每位数值
                        ji1 = result % 10;
                        ji2 = result / 10 % 10;
                        ji3 = result / 100 % 10;
                        ji4 = result / 1000 % 10;

                        if (ji1 == ji2 || ji1== ji3 || ji1==ji4 || ji2==ji3|| ji2==ji4 ||ji3 ==ji4 ) //如果计算出的数字相同,则继续判断
                            continue;
                        if (i1 == ji1 || i1 == ji2 || i1 == ji3 || i1 == ji4 ||
                            i2 == ji1 || i2 == ji2 || i2 == ji3 || i2 == ji4 ||
                            i3 == ji1 || i3 == ji2 || i3 == ji3 || i3 == ji4 ||
                            i4 == ji1 || i4 == ji2 || i4 == ji3 || i4 == ji4 ||
                            xx == ji1 || xx == ji2 || xx == ji3 || xx == ji4)           //判断计算中所用的五个数字是否是相同的。
                            continue;
                        Console.WriteLine("{0}*{1}={2}", jishu, xx,result);
                    }
                }
            }
            Console.ReadKey();
        }
    
    }
}

计算结果
1278*5=6390
1309*6=7854
1315*6=7890
1317*4=5268
1319*4=5276
1384*5=6920
1417*6=8502
1513*6=9078
1518*4=6072
1548*2=3096
1609*3=4827
1619*3=4857
1694*3=5082
1713*4=6852
1738*4=6952
1809*3=5427
1809*4=7236
1815*4=7260
1845*2=3690
1846*5=9230
1864*5=9320
1872*5=9360
1908*3=5724
1908*4=7632
1913*4=7652
1916*3=5748
1963*4=7852
2039*4=8156
2058*3=6174
2079*4=8316
3079*2=6158
3435*2=6870
3485*2=6970
3534*2=7068
3548*2=7096
3845*2=7690
4345*2=8690
4518*2=9036
4538*2=9076
4543*2=9086
4685*2=9370
4815*2=9630
4835*2=9670
4853*2=9706
4865*2=9730
收到的鲜花
  • ezhon00002010-03-29 13:52 送鲜花  3朵   附言:谢谢了

[url=http://blog./ouxianzhi520]csdn个人博客[/url]
2010-03-28 15:12
lov_stefanie
Rank: 1
等 级:新手上路
帖 子:7
专家分:4
注 册:2010-3-28
收藏
得分:4 
代码中没有排除0

更正:
程序代码:
  static void Main(string[] args)
        {
            int jishu = 1234, i1, i2, i3, i4, xx;
            for (; jishu <= 9876; jishu++)
            {
                //jishu = i4 i3 i2 i1;
                //取得每位的数字值
                i1 = jishu % 10;
                i2 = jishu / 10 % 10;
                i3 = jishu / 100 % 10;
                i4 = jishu / 1000;
                if (i1 == i2 || i1 == i3 || i1 == i4 || i2 == i3|| i2 == i4 || i3 == i4|| i1 == 0 || i2 == 0 || i3 == 0) //如果有相同的数字,则继续判断
                    continue;
                for (xx = 1; xx < 9; xx++)
                {
                    if (xx == i1 || xx == i2 || xx == i3 || xx == i4) //如果一位数与四位数相同,则不参与 计算
                        continue;
                    if (xx * jishu < 10000)
                    {
                        int result = xx * jishu;
                        int ji1, ji2, ji3, ji4;
                        //取得计算结果的每位数值
                        ji1 = result % 10;
                        ji2 = result / 10 % 10;
                        ji3 = result / 100 % 10;
                        ji4 = result / 1000;

                        if (ji1 == ji2 || ji1 == ji3 || ji1 == ji4 || ji2 == ji3 || ji2 == ji4 || ji3 == ji4 || ji1 == 0 || ji2 == 0 || ji3 == 0) //如果计算出的数字相同,则继续判断
                            continue;
                        if (i1 == ji1 || i1 == ji2 || i1 == ji3 || i1 == ji4 ||
                            i2 == ji1 || i2 == ji2 || i2 == ji3 || i2 == ji4 ||
                            i3 == ji1 || i3 == ji2 || i3 == ji3 || i3 == ji4 ||
                            i4 == ji1 || i4 == ji2 || i4 == ji3 || i4 == ji4 ||
                            xx == ji1 || xx == ji2 || xx == ji3 || xx == ji4)           //判断计算中所用的五个数字是否是相同的。
                            continue;
                        Console.WriteLine("{0}*{1}={2}", jishu, xx, result);
                    }
                }
            }
            Console.ReadKey();
        }

 
收到的鲜花
  • ezhon00002010-03-29 13:53 送鲜花  3朵   附言:有没有其他思路呢?
2010-03-28 20:33
ouxianzhi520
Rank: 8Rank: 8
来 自:重庆
等 级:蝙蝠侠
威 望:3
帖 子:245
专家分:932
注 册:2007-12-1
收藏
得分:0 
在确忽略了0.没有仔细审题呀

[url=http://blog./ouxianzhi520]csdn个人博客[/url]
2010-03-28 22:27
快速回复:菜鸟!求一题目答案?
数据加载中...
 
   



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

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