您的位置:首页 > 其它

HDU1164(因数分解水题)

2017-08-17 10:30 253 查看
好久之前想做的一个题,今天一看好水。我以前是得有多菜啊。

菜哭在角落。

题意:

给你一个数,要求输出x的所有质因子,并以相乘的形式给出。

code:

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#include<iostream>
#include<string>
#include <set>
//a&3==a%4
using namespace std;
#define ll long long
#define mem(a) memset(a,0,sizeof(a))
const double eps=1e-8;
const int maxn=70010;//须填写
const int inf=0x3f3f3f3f;
int main()
{
vector< int > factor;
int x;
while(scanf("%d",&x)!=EOF)
{
factor.clear();
for(int i=2;i*i<=x;i++)//从小到大遍历x的因数
{
while(x%i==0)//i是x的因数
{
factor.push_back(i);
x=x/i;//除去i,知道x不再是i的倍数
}
}
if(x>1)
{
factor.push_back(x);
}
printf("%d",factor[0]);
for(int i=1;i<factor.size();i++)
{
printf("*%d",factor[i]);
}
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: