- 筛选出2-10000中的素数元素后,按筛选的素数元素从小到大对输入的n试除,只要找到1个就让n除以该元素并将除后的结果变成新的n,直到n被分解到1,分解停止。
- 题中似乎要求每个质因数的指数幂,此时要再定义一个ansnum存放各因数的指数幂,在处理ansprime同时可处理ansnum,使该素数因子加入素数数组时对应指数幂也要加1.
#include <stdio.h>
int prime[10000];//保存筛选得到的素数
int primesize=0;//素数的个数
bool marked[10001]={
false};//若不是素数标记为true
void mark(){
//将10000以内的素数放到素数数组中
for(int i=2;i