素数与因子

素数与因子

时间: 1ms        内存:128M

描述:

 

从键盘输入任意整数n,若n不是素数,则计算出n的所有因子(不包括1),例如对于16,输出2,4,8;否则输出It is a prime number.
判断素数和求因子分别用函数完成。

输入:

任意整数n

输出:

该数的因子或素数标志。

示例输入:

16

示例输出:

2
4
8

提示:

参考答案(内存最优[760]):

#include<stdio.h>
#include<math.h>
 gene(int n)
{
int d;
for(d=2;d<n;d++)
if(n%d==0)
printf("%d\n",d);
return d;
}
 prime(int n)
{
int m,i;
double k;
k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0)break;
  if(i>=k)
	  printf("It is a prime number.\n");
  else
	  m=gene(n);
}
int main()
{
int n,s;
scanf("%d",&n);
s=prime(n);
return 0;
}

参考答案(时间最优[0]):

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	int prime (int m);
	int m,p;
	cin>>m;
	p= prime (m);
	for(int q=2;q<m;q++){
		if(m%q==0&&q!=m/q){
			cout<<q<<endl;
			
		}
			else if(m%q==0&&q==m/q)cout<<q<<endl;
	}
	return 0;
}
int prime (int m)
{
	int i=2,k=sqrt(m);
	for(i=2;i<=k;i++)
		if(m%i==0){
			break;
			}else cout<<"It is a prime number."<<endl;
			return m ;
		}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注