| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 479 人关注过本帖
标题:求高手帮忙.感谢!
只看楼主 加入收藏
LlCcCc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-1-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
求高手帮忙.感谢!
123456789九个数 组成三个三位数 并且存在x 2x 3x的倍数关系 求所有组合     用C语言写
搜索更多相关主题的帖子: C语言 
2011-01-24 12:14
LlCcCc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-1-24
收藏
得分:0 
比如说192 384  576 这三个数就是成倍数关系,而且使用这九个数组成的.
2011-01-24 12:15
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:10 
你自己为什么不先做做,直接看别人的答案能学到什么?
这种简单题目,分分钟钟的事,但如果一直不去自己思考,看一辈子也没什么出息。记住,别人的代码只有自己深思过才有借鉴意义,否则反而会破坏自己的思路。

#include <iostream>
using namespace std;

int main()
{
    for( size_t a=1; a<=9; ++a )
        for( size_t b=1; b<=9; ++b )
            for( size_t c=1; c<=9; ++c )
            {
                if( a==b || b==c || c==a ) continue;

                size_t n = a*100 + b*10 + c;
                if( 3*n > 999 ) break;

                size_t d = 2*n/100;
                size_t e = 2*n/10%10;
                size_t f = 2*n%10;
                size_t g = 3*n/100;
                size_t h = 3*n/10%10;
                size_t i = 3*n%10;

                if( (1<<a | 1<<b | 1<< c | 1<<d | 1<<e | 1<<f | 1<<g | 1<<h | 1<<i) == 0x3FE )
                    cout << a << b << c << ' ' << d << e << f << ' ' << g << h << i << endl;
            }

    return 0;
}
2011-01-24 13:20
LlCcCc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-1-24
收藏
得分:0 
回复 3楼 rjsp
我也想自己写,不过我确实写不出来.我刚学C语言,编程都不太会.一个学长出的问题,我感觉自己真的做不出来,他说没有难度,但我觉得我应该写点基础的,感觉这题就是让我想一天我也想不出来.
2011-01-24 13:34
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
不会很难啊,刚入门的话可以用基础的方法做的。

   唯实惟新 至诚致志
2011-01-24 16:17
lyj2010lyj
Rank: 2
等 级:论坛游民
帖 子:25
专家分:27
注 册:2010-9-28
收藏
得分:0 
回复 3楼 rjsp
楼主厉害,c语言,不需要这么复杂吧?
2011-01-24 17:09
点线面
Rank: 8Rank: 8
来 自:NO.-1
等 级:蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
收藏
得分:10 
程序代码:
#include<stdio.h>

int sok(int i)
{
       return (i%10)*(i/100)*(i/10%10);   
}

int main()
{
    int i;
for(i=0;i<=999;i++)
{   
   if(sok(i)*sok(2*i)*sok(3*i)==362880)   //9! == 362880 不重复的
   {
       printf("%d %d %d",i,2*i,3*i);
          puts("");
   }
  
}

   getchar();
   return 0;
}
这个容易理解

小代码,大智慧
2011-01-24 19:21
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
9! == 362880 不重复的

------
 1*2*3*4*5*6*7*8*9
=1*1*3*5*6*7*8*8*9
2011-01-25 08:18
快速回复:求高手帮忙.感谢!
数据加载中...
 
   



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

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