c++输出一个整数的所有素数。

c++输出一个整数的所有素数。

问题描述:

img


怎样才能让每行的换行符前没有空格啊?oj上的题目1111111111111111111111111111111111111

代码如下:

#include <iostream>
using namespace std;
//判断素数
int isprime(int n)
{
    int i = 2;
    for(;i<n;i++)
    {
        if(n%i == 0)
            return 0;
    }
    if(i==n) return 1;
    return 0;
}


int main()
{
    int i,n,flag;
    while(cin >> n)
    {
        flag = 0;
        for(i = 2;i<=n;i++)
        {
            if( (n%i == 0) && isprime(i))//是因子,并且是素数
            {
                if(flag == 0)
                {
                    flag = 1;
                    cout << i;
                }else
                    cout << " "<< i;
            }
        }
        if(flag == 0)
            cout << "该数没有素数因子"<<endl;
        else
            cout << endl;
    }
    return 0;
}