| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 886 人关注过本帖
标题:求出符合下面条件的5个正整数
只看楼主 加入收藏
huwengui
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:166
专家分:158
注 册:2011-4-22
结帖率:83.33%
收藏
已结贴  问题点数:5 回复次数:12 
求出符合下面条件的5个正整数
/*3、求出符合下面条件的5个正整数;
  A 5个数之和为23;
  B 从这5个数中选取不同的数作加法,可得1-23中的所有自然数*/
#include "stdio.h"
#include "algorithm"
main()
{using namespace std;
int a[5];
int j,flag=1,k=0;
a[0]+a[1]+a[2]+a[3]+a[4]==23;
do{
  for(j=1;j<=23;j++)
  if(a[0]+a[1]==j||a[1]+a[2]==j||a[2]+a[3]==j||a[3]+a[4]==j||a[0]==j||a[1]==j||a[2]==j||a[3]==j||a[4]==j)
     k++;

}while(flag=next_permutation(a,a+5));
if(k==23)
printf("%d %d %d %d %d ",a[0],a[1],a[2],a[3],a[4]);
} 帮忙看看有事么问题???

[ 本帖最后由 huwengui 于 2011-6-19 23:40 编辑 ]
搜索更多相关主题的帖子: 自然数 正整数 
2011-06-17 00:08
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:1 
不存在。
设 a,b 为正整数。则 a + b > 1
2011-06-17 02:10
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:1 
很可能不存在。
小弟的理解:
取任意个正整数,求和。有可能是一个正整数,也有可能是两个,三个。
如果条件成立,故而这五个数中必定有一个是 1,因为没有数的和是一。
而1+1=2,两个1,重复了。故而五个数中应该有个数为 2
而4=1+3,4=2+2,4=1+1+2 后两个表达式都有重复的数:2,1;
所以这五个数中应该有一个数为  3
1+2+3=6,23-6=17,所有的数都在1-9范围内,故而这两个数应该为8和9,
如果只是算加法,那么7,无法算出。
所以小弟认为这五个数很可能不存在。
2011-06-17 07:30
bccn_2012
Rank: 6Rank: 6
等 级:侠之大者
帖 子:158
专家分:447
注 册:2011-5-14
收藏
得分:1 
不存在的。
有一个是1,
则其他的>1,所以怎么加都不会得个2出来。。。
因为5个数都是正整数。
2011-06-17 11:12
huwengui
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:166
专家分:158
注 册:2011-4-22
收藏
得分:0 
回复 4楼 bccn_2012
要是有些值 比如  1  不一定要两个数相加   只要五个数里面有个数和1相等就行了
                 2  五个数中可以有相同的   1+1
2011-06-17 12:44
huwengui
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:166
专家分:158
注 册:2011-4-22
收藏
得分:0 
回复 2楼 voidx
我用的这种方法 对不对啊?
2011-06-17 12:46
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
就是穷举法嘛,可以,不过楼主写的代码不对。
1. 楼主代码里的穷举变量应该是 a[0], a[1] ...
2. 楼主的代码不能检测用选取的数字及其和能够表示 1 ~ 23 的自然数。
3. 楼主的代码没有检测这五个数字互不相同。

而且,这种题用穷举法太麻烦了。经过观察可以确定,只需选取 2^0, 2^1, ... 2^2 这样的数,然后对最后两个进行适当修改,使其满足五个数字各不相同即可。
若题目要求的 5 个数字的和大于等于 2^5 则无解。

答案之一:1 2 4 7 9
2011-06-17 13:07
huwengui
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:166
专家分:158
注 册:2011-4-22
收藏
得分:0 
求程序代码
2011-06-17 14:17
Moonod
Rank: 2
来 自:河北-唐山
等 级:论坛游民
帖 子:29
专家分:42
注 册:2011-5-30
收藏
得分:1 
路过~
2011-06-17 14:37
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:0 
程序代码直接使用上面描述的方法就行。
楼主自己先写写试试
2011-06-17 21:53
快速回复:求出符合下面条件的5个正整数
数据加载中...
 
   



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

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