2008= 2+ 3+ 5+ 7+ 11+ 13+ 17+ 19+ 23+ 29+ 31+ 37
+ 41+ 43+ 47+ 53+ 59+ 61+ 67+ 71+ 73+79+83
+ 89+ 97+ 101+ 103+ 107+ 109+ 113+ 127+ 131
+ 137+2+19
其中有33个最小的不同质数
请问我上面的分析对不?你的题目的意思是不是这个意思?
----------------解决方案--------------------------------------------------------
回复 9# 的帖子
多谢上面几位的帮助,只是大家好像都没注意到这些质数之和要等于给定的数我运行了几位的程序,结果都不正确。我有一组参考数据,是对n=1998来说的,它可以分解成以下数据。
3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 131 137 139
我的那个程序对这个数据是正确的。
----------------解决方案--------------------------------------------------------
回复 11# 的帖子
你给的数据好像有重复的,题目要求这些质数不能相同。对n=1998来说的,它可以分解成以下数据。
3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 131 137 139 。
感兴趣的话可以先用这个数据试试。
----------------解决方案--------------------------------------------------------
越想越恶心,除了搜索偶想不出什么好办法。。。。
----------------解决方案--------------------------------------------------------
我们的程序都有缺陷..就是应该dp比如10这个数可以分为3和7.但是用我们的程序是没办法实现的...因为中间有个5..有谁可以帮我的改一下...我要回去了...呵呵
----------------解决方案--------------------------------------------------------
针对2008我写了个程序 你看下
#include<stdio.h>
#define N 33
int spt(int m)
{
int i=2;
while(m%i!=0)
i++;
if(m==i)
return 1;
else
return 0;
}
void main()
{ int n,m,c=0,i,j; static a[N];
printf("请输入2008");
scanf("%d",&n);
j=0;
for(i=2;i<=131;i++)
{
if (spt(i)>0)
{
a[j]=i;
n=n-i;
j++;
}
}
for(j=0;j<N;j++)
{
if (spt(n+a[j])>0)
{
a[j]=n+a[j];
break;
}
}
for(j=0;j<N;j++)
{
printf("%d\t",a[j]);
}
} 写的是苯法子 只是针对2008写的 么辙了 谁有好的思路 可以说下参考下
----------------解决方案--------------------------------------------------------
有点难度吧,这是我们学校研究生复试题,没隔几年就出一次,曾考过1998,2006,过两天就复试了,万一又出个2008就傻了。
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]qitian[/un] 在 2008-4-11 23:20 的发言:[/bo]
你给的数据好像有重复的,题目要求这些质数不能相同。
对n=1998来说的,它可以分解成以下数据。
3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 131 137 139 。
感兴趣的 ...
你给的数据好像有重复的,题目要求这些质数不能相同。
对n=1998来说的,它可以分解成以下数据。
3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 131 137 139 。
感兴趣的 ...
这些都是连续的 素数 当然好写 用我貌似是4#最前面给的程序 写就好了 但是总有特殊的 有没人有好的思路 分享下
----------------解决方案--------------------------------------------------------
楼主,请说一下输入的数最大的可能取值
有思路的话偶试一下
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]qitian[/un] 在 2008-4-11 23:50 的发言:[/bo]
有点难度吧,这是我们学校研究生复试题,没隔几年就出一次,曾考过1998,2006,过两天就复试了,万一又出个2008就傻了。
有点难度吧,这是我们学校研究生复试题,没隔几年就出一次,曾考过1998,2006,过两天就复试了,万一又出个2008就傻了。
倒 那就凑把 我上面的那个可以酸是凑出来的 需要我注释下么 应该有好的酸法求出来 HOHO 我再好好想下
----------------解决方案--------------------------------------------------------