标题:[求助],“找出一千以内因子最多的数”
只看楼主
sami3166
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-6-29
 问题点数:0 回复次数:6 
[求助],“找出一千以内因子最多的数”
请教各位,“找出一千以内因子最多的数”要怎么编。谢谢
2006-06-29 16:18
freshman42
Rank: 1
等 级:新手上路
威 望:1
帖 子:94
专家分:0
注 册:2005-12-4
得分:0 
怎么没人写,我随便写了个
[CODE]

#include <iostream>
using namespace std;
void main()
{
int b=0,temp=0,c;
for(int n=0;n<1000;n++)
{
int a=0;
for(int m=2;m<n;m++)
if(n%m==0)
a++;
if(a>temp)
{
temp=a;
c=n;
}
}
cout<<c<<endl;
}

[/CODE]
不要注释吧

2006-06-29 21:55
wangxiang
Rank: 2
等 级:新手上路
威 望:5
帖 子:376
专家分:0
注 册:2006-3-28
得分:0 
for(int m=2;m&lt;=sqrt(n);m++)减少一下循环的次数

2006-06-29 23:18
freshman42
Rank: 1
等 级:新手上路
威 望:1
帖 子:94
专家分:0
注 册:2005-12-4
得分:0 
以下是引用wangxiang在2006-6-29 23:18:33的发言:
for(int m=2;m<=sqrt(n);m++)减少一下循环的次数

判断的是因子,不是判断素数,怎么能那样呢


2006-06-30 00:41
sami3166
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-6-29
得分:0 

谢谢,帮忙看看这样写有什么错

#include<iostream>
using namespace std;

int fun1(int m)
{
int a,i;
for(i=1;i<=m;i++)
{
if(m%i==0) a++;
}
return (a);
}

void main()
{
int n,k,temp=0;
for(n=2;n<=1000;n++)
{
k= fun1( n);
if (k>temp) temp=k;
}
cout<<temp<<endl;
}

2006-06-30 09:47
freshman42
Rank: 1
等 级:新手上路
威 望:1
帖 子:94
专家分:0
注 册:2005-12-4
得分:0 
#include<iostream>
using namespace std;

int fun1(int m)
{
int a=0,i; //a必须初始化
for(i=1;i<=m;i++)
{
if(m%i==0) a++;
}
return (a);
}

void main()
{
int n,k,temp=0;
for(n=2;n<=1000;n++)
{
k= fun1( n);
if (k>temp) temp=k;
}
cout<<temp<<endl;
}

你这输出的是最多因子的数目,不是有最多因子的数


2006-06-30 16:33
sami3166
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-6-29
得分:0 
谢了,呵呵!
2006-06-30 16:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-75673-1-1.html




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

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