问题标题: 酷町堂:5076 60分

0
0
已解决
黄依成
黄依成
中级天翼
中级天翼
#include<iostream>
using namespace std;
int main(){
    long long n;
    cin>>n;
    for(int i=2;i<=n;i++){
        while(n!=i){
            if(n%i==0){
                cout<<i<<" ";
                n=n/i;
            }
            else break;
        }
    }
    cout<<n;
    return 0;
}

题目

测试点:

输入:5348

输出:2 7 191

我的代码输出是2 2 7 191    !!!!

啊啊啊啊啊啊


0
已采纳
黄子澄
黄子澄
中级天翼
中级天翼
  • 整形 n;
  • 布尔 flag;
  • 输入n;
  • 循环(整形 i=2;i<=n;i++){
  • if(n%i==0){
  • flag=真;
  • 循环(整形 j=2;j<=sqrt(i);j++){
  • 如果(i%j等于0){
  • flag=假;
  • 跳出循环
  • }
  • }
  • if(flag){
  • 输出<<i<<" ";
  • }
  • }
  • }
0
0
我要回答