4032 - 因式分解

输入一个正整数并因式分解,输出分解等式。如输入60,则输出:60=2*2*3*5

题目输入

输入一正整数n(n在int范围内)。

题目输出

输出其因式分解.

输入/输出样例

题目输入

60

题目输出

60=2*2*3*5

C++解答

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	int n,i=-1,j,k;
	cin>>n;
	cout<<n<<"=";
	for (i=2,k=sqrt(n); i<=k; i++)
		if (n%i==0){
			cout<<i;
			n/=i;
			break;
		}
	if (i>k){
		cout<<n<<endl; return 0;
	}
	for (j=i; j<=k; j++)
		while (n%j==0){
			cout<<"*"<<j;
			n/=j;
		}
	if (n>1) cout<<"*"<<n;
	cout<<endl;
	return 0;
}
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题