| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1018 人关注过本帖, 1 人收藏
标题:一道关于数组合的题目
只看楼主 加入收藏
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
回复 10楼 qunxingw
这个不对吧,人家要求是组合哦

也就是 1-9 都有,并且不能重复。

这样写,就有重复的数字出现了。你可以跑一下看看

[ 本帖最后由 yuccn 于 2012-11-23 11:04 编辑 ]

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-11-23 11:02
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:0 
由于题目过于精简,以致理解不一致,玩玩而已。

www.qunxingw.wang
2012-11-23 11:16
jzshit
Rank: 1
等 级:新手上路
帖 子:2
专家分:8
注 册:2012-11-6
收藏
得分:4 
感觉好难啊!!!
2012-11-23 11:39
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:0 
#include
int  main()
{
    int t=0,i,j,m=0,k;
    int b[888];
    for( i=1; i<10; i++)
     for( j=1; j<10; j++)
      for( k=1; k<10; k++)
      {if(i==j||j==k||i==k) continue;
      b[m] = i*100+j*10+k;
    // printf("%d ",m);
        m++;
        
      }
for(i=0; i<M; I++)
for(j=i+1; j<M; J++)
for(k=j+1; k<M; K++)
if ( (b[i]*2==b[j]) && (b[i]*3==b[k])
&&(b[i]%10+b[i]%100/10+b[i]/100+b[j]%10+b[j]%100/10+b[j]/100+b[k]%10+b[k]%100/10+b[k]/100==45)
&&( (b[i]%10)*(b[i]%100/10)*(b[i]/100)*(b[j]%10)*(b[j]%100/10)*(b[j]/100)*(b[k]%10)*(b[k]%100/10)*(b[k]/100)==362880))
printf("%d %d  %d\n",b[k],b[j],b[i]);
return 0;
}
利用1+2+3+.....+9=45
1*2*3*4.....*9=362880 排除有相同的数

www.qunxingw.wang
2012-11-23 18:35
一个孩子
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:356
专家分:954
注 册:2012-10-1
收藏
得分:0 
程序代码:
#include<stdio.h>
int main()
{
    int number1=0;
    int number2=0;
    int i,j,k;
    for(i=1;i<=9;i++)
        for(k=1;k<=9;k++)
            for(j=1;j<=9;j++)
            {
                if(i==3*j&&k==2*j)//神啊,应该是这个,没看清楚啊。。。。。该死,楼主不要介怀啊
                {
                    number1=100*i+10*k+j;
                    printf("%d\n",number1);
                    number2=100*j+10*k+i;
                    printf("%d\n",number2);
                }
    
            }
            return 0;
}

重要的不是结果,是求一个结果的过程,哪怕千难万难,当你有想要的结果时,你已走的很远
2012-11-23 20:07
一个孩子
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:356
专家分:954
注 册:2012-10-1
收藏
得分:0 
我都到15楼了啊~~~

重要的不是结果,是求一个结果的过程,哪怕千难万难,当你有想要的结果时,你已走的很远
2012-11-23 20:08
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
回复 14楼 qunxingw

算法有误,建议运行一下看看

[ 本帖最后由 yuccn 于 2012-11-23 20:24 编辑 ]

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-11-23 20:19
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
建议写出来的,自己测试一下,不然不知道自己的算法是否对。^_^
这个题目比较有意思

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-11-23 20:20
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:0 
粘贴时怎么变大小了,,改小就行了
#include<stdio.h>
int  main()
{
    int t=0,i,j,m=0,k;
    int b[888];
    for( i=1; i<10; i++)
     for( j=1; j<10; j++)
      for( k=1; k<10; k++)
      {if(i==j||j==k||i==k) continue;
      b[m] = i*100+j*10+k;
    // printf("%d ",m);
        m++;
        
      }
for(i=0; i<m; i++)
for(j=i+1; j<m; j++)
for(k=j+1; k<m; k++)
if ( (b[i]*2==b[j]) && (b[i]*3==b[k])
&&(b[i]%10+b[i]%100/10+b[i]/100+b[j]%10+b[j]%100/10+b[j]/100+b[k]%10+b[k]%100/10+b[k]/100==45)
&&( (b[i]%10)*(b[i]%100/10)*(b[i]/100)*(b[j]%10)*(b[j]%100/10)*(b[j]/100)*(b[k]%10)*(b[k]%100/10)*(b[k]/100)==362880))
printf("%d %d  %d\n",b[k],b[j],b[i]);
return 0;
}

www.qunxingw.wang
2012-11-23 21:12
一个孩子
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:356
专家分:954
注 册:2012-10-1
收藏
得分:0 
我的可以运行的

重要的不是结果,是求一个结果的过程,哪怕千难万难,当你有想要的结果时,你已走的很远
2012-11-23 21:40
快速回复:一道关于数组合的题目
数据加载中...
 
   



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

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