| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 944 人关注过本帖
标题:求下面的算法!(不要笑我)
只看楼主 加入收藏
kofsos
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-5-5
结帖率:100%
收藏
 问题点数:0 回复次数:17 
求下面的算法!(不要笑我)
小第想问一个问题
假如输入一个数值(这个数字是100以内不重复的数值的剩积)

怎么知道他是由那些数值相剩所得呢

?想
哦!
搜索更多相关主题的帖子: 算法 
2007-07-04 18:12
kofsos
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-5-5
收藏
得分:0 

我想从(100--)开始 求出余数和被除数
然后再从余数和被除数里再这样一直分解下去!
可是想的半天觉得很复杂~
~~哎~~求救哦!


万年潜水员!
2007-07-04 18:16
haoba008
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-7-4
收藏
得分:0 
没看懂什么意思~~~
2007-07-04 19:46
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 
有个苯办法:
拿这个数和依次和素数相除,看能否被整除,能就拿结果继续和素数除,素数有小到大开始,能被整除就不用和下面的素数相除了

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-07-04 19:46
windflush
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:886
专家分:0
注 册:2007-7-1
收藏
得分:0 
恩,我也只能想到楼上那种方法了,
小学时做的因式分解。

2007-07-04 20:38
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 

分出来以后呢?由哪些数字的乘积组成这个数字的?这算法还要实现也是问题。要把各种可能打印出来呢?


深山苦学C语言,终年不见外面世界。
2007-07-04 20:44
windflush
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:886
专家分:0
注 册:2007-7-1
收藏
得分:0 
确实很麻烦。

2007-07-04 21:11
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 
还好啊,不是很麻烦,素数最大就是除数的一半就行了

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-07-04 21:24
windflush
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:886
专家分:0
注 册:2007-7-1
收藏
得分:0 
可是要考虑所有满足条件的情况,因为题目不是说只要一个最简单的组合,毕竟不是因式分解,只有一种情况。
所以,这个东西虽然做起来不难,但是写起来很麻烦。

2007-07-04 21:30
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 
这个是40以内的,要是100的话只要在sum[]中填写小于50的素数,并修改相应的sum[]的最大坐标

int main()
{
int sum[8]={2,3,5,7,11,13,17,19};
int a,b,i=0;
int ret[50],s=0;

printf("input a number(<40);");
scanf("%d",&a);

b=a;
while((sum[i]<a/2 && i<8))
{
if(a%sum[i]==0)
{
//printf("%d,%d\n",sum[i],a/sum[i]);
ret[s]=sum[i];

a=a/sum[i];
i=0;
s++;
}
else
i++;
}

for(i=0;i<s;i++)
{
printf("%d*%d\n",ret[i],b/ret[i]);
ret[i+1]=ret[i+1]*ret[i];
}
}

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-07-05 19:50
快速回复:求下面的算法!(不要笑我)
数据加载中...
 
   



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

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