10392
long long 规模数据的因式分解,分解出来的>1000000的数至多有一个,
这样的话稍微处理一下就行,如果能在<=1000000内找到因子就输出,如果没有的话就直接输出这个数。
//============================================================================
// Name : 10392.cpp
// Author :
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
long long n;
void work(long long m){
int tag = 0;
for(int i = 2;i <= 1000000;i++){
if(m%i == 0){
tag = 1;
printf(" %d\n", i);
m /= i;
while(m%i == 0){
printf(" %d\n", i);
m /= i;
}
if(m == 1) return;
work(m);
break;
}
}
if(tag == 0){
printf(" %lld\n", m);
return ;
}
}
int main() {
freopen("a.txt", "r", stdin);
while(scanf("%lld", &n)&&n>=0){
work(n);
printf("\n");
}
return 0;
}

浙公网安备 33010602011771号