设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 2043|回复: 8
打印 上一主题 下一主题

37选7的问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 01:47:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
编写在37个说中选出7个数组合,问选出7个相同的数的选发有几种并分别列出来.
程序如下:我用的是枚举但是有好多错误我不知道为什么 有谁能看看吗?
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
enum num{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37};
num pri;
int a,b,c,d,e,f,g,n=0,loop;
for(a=01;a<=37;a++)
for(b=01;b<=37;b++)
if(a!=b)
for(c=01;c<=37;c++)
if(c!=a&&c!=b)
for(d=01;d<=37;d++)
if(d!=a&&d!=b&&c!=d)
for(e=01;e<=37;e++)
if(e!=a&&e!=b&&e!=c&&e!=d&&)
for(f=01;f<=37;f++)
if(f!=a&&f!=b&&f!=c&&f!=d&&f!=e)
for(g=01;g<=37;g++)
if(g!=a&&g!=b&&g!=c&&g!=d&&g!=e&&g!=f)
{n+=1;
cout<<setw(5)<<n;
for(loop=1;loop<=7;loop++)
{switch(loop)
{case 1: pri=num(a);break;
case 2: pri=num(b);break;
case 3: pri=num(c);break;
case 4: pri=num(d);break;
case 5: pri=num(e);break;
case 6: pri=num(f);break;
case 7: pri=num(g);break;
default: break;
}
switch(pri)
{case 1:cout<<setw(8)<<1;break;
case 2:cout<<setw(8)<<2;break;
case 3:cout<<setw(8)<<3;break;
case 4:cout<<setw(8)<<4;break;
case 5:cout<<setw(8)<<5;break;
case 6:cout<<setw(8)<<6;break;
case 7:cout<<setw(8)<<7;break;
case 8:cout<<setw(8)<<8;break;
case 9:cout<<setw(8)<<9;break;
case 10:cout<<setw(8)<<10;break;
case 11:cout<<setw(8)<<11;break;
case 12:cout<<setw(8)<<12;break;
case 13:cout<<setw(8)<<13;break;
case 14:cout<<setw(8)<<14;break;
case 15:cout<<setw(8)<<15;break;
case 16:cout<<setw(8)<<16;break;
case 17:cout<<setw(8)<<17;break;
case 18:cout<<setw(8)<<18;break;
case 19:cout<<setw(8)<<19;break;
case 20:cout<<setw(8)<<20;break;
case 21:cout<<setw(8)<<21;break;
case 22:cout<<setw(8)<<22;break;
case 23:cout<<setw(8)<<23;break;
case 24:cout<<setw(8)<<24;break;
case 25:cout<<setw(8)<<25;break;
case 26:cout<<setw(8)<<26;break;
case 27:cout<<setw(8)<<27;break;
case 28:cout<<setw(8)<<28;break;
case 29:cout<<setw(8)<<29;break;
case 30:cout<<setw(8)<<30;break;
case 31:cout<<setw(8)<<31;break;
case 32:cout<<setw(8)<<32;break;
case 33:cout<<setw(8)<<33;break;
case 34:cout<<setw(8)<<34;break;
case 35:cout<<setw(8)<<35;break;
case 36:cout<<setw(8)<<36;break;
case 37:cout<<setw(8)<<37;break;
default: break;
}
}
cout<<endl;
}
}
cout<<"total:"<<n<<endl;
return 0;
}
提示错误如下:


附件: 只有本站会员才能下载或查看附件,请您 登录 或 注册
2#
发表于 2009-11-3 01:47:33 | 只看该作者
不理解你题目的意思,什么叫做37选7,7个相同的数有几种,那肯定是37种列,7个1,7个2……7个37,你说的题目是什么意思
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 01:47:36 | 只看该作者
两个整数的最大公约数和最小公倍数的算法怎么样的啊?
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-3 01:47:38 | 只看该作者
公约数:

int i,j,n,m,q=0,p=0,k=0,num=0;/*m,n代表两个数,num为最小公约数*/
for(i=1;i<=n;i++)
{if(n%i==0)q=i;
for(j=1;j<=m;j++)
if(m%j==0)
{p=j;
if(q==p)k=p;
if(k>num)num=k;}
}
cout<<num;
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-3 01:47:39 | 只看该作者
哦不好意识 打错了 选出7不相同的数,少个"不"字.顺序不要求
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-3 01:47:40 | 只看该作者
我也是新手算法写的比较垃圾 仅供参考
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-3 01:47:41 | 只看该作者
公倍数:
int i=2,m,n;
while(q!=p)
{p=m*i;q=n*i;i++;}
cout<<p;
回复 支持 反对

使用道具 举报

8#
发表于 2009-11-3 01:47:42 | 只看该作者
for(a=01;a<=30;a++)
for(b=a+1;b<=31;b++)
for(c=b+1;c<=32;
......
回复 支持 反对

使用道具 举报

9#
发表于 2009-11-3 01:47:44 | 只看该作者
取的数不能相等啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 18:32 , Processed in 0.115376 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表