FZU1075 之 分解素因子
2016-12-31 15:45
441 查看
假设x是一个正整数,它的值不超过65535(即1<x<=65535),请编写一个程序,将x分解为若干个素数的乘积。
Input
输入的第一行含一个正整数k (1<=k<=10),表示测试例的个数,后面紧接着k行,每行对应一个测试例,包含一个正整数x。
Output
每个测试例对应一行输出,输出x的素数乘积表示式,式中的素数从小到大排列,两个素数之间用“*”表示乘法。
Sample Input
Sample Output
AC代码如下:
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int fun(int n)
{
int flag=1;
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
flag=0;
break;
}
}
return flag;
}
int main()
{
int n;
int x;
int a[10000];
cin>>n;
while(n--)
{
cin>>x;
int xx=x;
int num=0;
int sum=1;
for(int i=2;i<=x;i++)
{
if(x%i==0)
{
while(x%i==0)
{
a[num]=i;
sum*=i;
num++;
x/=i;
}
}
if(sum==xx) break;
}
if(num==1)
{
cout<<sum<<endl;
continue;
}
for(int i=0;i<num;i++)
{
if(i!=num-1)
cout<<a[i]<<"*";
else
cout<<a[i]<<endl;
}
}
return 0;
}
Input
输入的第一行含一个正整数k (1<=k<=10),表示测试例的个数,后面紧接着k行,每行对应一个测试例,包含一个正整数x。
Output
每个测试例对应一行输出,输出x的素数乘积表示式,式中的素数从小到大排列,两个素数之间用“*”表示乘法。
Sample Input
2 11 9828
Sample Output
112*2*3*3*3*7*13
AC代码如下:
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int fun(int n)
{
int flag=1;
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
flag=0;
break;
}
}
return flag;
}
int main()
{
int n;
int x;
int a[10000];
cin>>n;
while(n--)
{
cin>>x;
int xx=x;
int num=0;
int sum=1;
for(int i=2;i<=x;i++)
{
if(x%i==0)
{
while(x%i==0)
{
a[num]=i;
sum*=i;
num++;
x/=i;
}
}
if(sum==xx) break;
}
if(num==1)
{
cout<<sum<<endl;
continue;
}
for(int i=0;i<num;i++)
{
if(i!=num-1)
cout<<a[i]<<"*";
else
cout<<a[i]<<endl;
}
}
return 0;
}
相关文章推荐
- fzu 1075 分解素因子
- FZU 1075 分解素因子
- fzu 1075 分解素因子
- FZU_1075_分解素因子
- Problem 1075 分解素因子
- fzu 1753 Another Easy Problem(n!的素因子分解)
- FZU 1753:Another Easy Problem _素因子分解
- FOJ Problem 1075 分解素因子 (筛法求素数Problem 1075 分解素因子 Accept: 1650 Submit: 3102 Time Limit: 1000 mSe)
- 大素数判断和素因子分解(miller-rabin,Pollard_rho算法)
- POJ3421_X-factor Chains_素因子分解&&排列组合
- n!素因子分解2
- hdu 5392-Infoplane in Tina Town(质因子分解求最小公倍数)
- HDU-1299 Diophantus of Alexandria 素因子分解
- POJ 1365 因子分解
- uva 10892 素因子分解
- LightOJ 1236 - Pairs Forming LCM(素因子分解)
- 拉斯维加斯算法对n进行因子分解&&n取值范围2 <= N < 2^54
- 整数因子分解
- Pollard_rho算法模板(大整数的因子分解)
- uva 993 Product of digits (贪心 + 分解因子)