问题标题: 酷町堂:5076

0
0
已解决
崔亦腾
崔亦腾
初级守护
初级守护

题目链接: 酷町堂:5076

5076   输出质因数2

经验值:800 时间限制:1000毫秒 内存限制:128MB

题目描述 Description

输入一个正整数n(100<=n<=200000000),从小到大输出n的所有质因数(质数本身也是它的一个质因数)。

输入描述 Input Description

一个正整数n

输出描述 Output Description

从小到大输出n的所有质因数

样例输入 Sample Input

18

样例输出 Sample Output

2 3

数据范围及提示 Data Size & Hint

50%的数据100<=n<=10000

100%的数据100000000<=n<=200000000

错误代码:(TLE 90分)

#include<iostream>
#include<cmath>
using namespace std;
long long n;
bool flag=true;
int main(){
    cin>>n;
    for(int i=2;i<=n;i++){
        while(n%i==0){
            if(flag==true){
                cout<<i<<' ';
                flag=false;
            }
            n/=i;
        }
        flag=true;
    }
    return 0;
}


0
已采纳
万睿言
万睿言
初级光能
初级光能
定义:
整型变量n
bool类型变量flag(初始值为false)
输入n
  循环遍历2到n
        如果i是n的因数
            flag的值改为true
            循环遍历2到sqrt(i)
                i如果j是i的因数
                    flag的值改为false
                    跳出循环
            如果flag的值为true
                输出i

 

0
我要回答