已解决 黄依成 中级天翼 #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 !!!! 啊啊啊啊啊啊
已采纳 黄子澄 中级天翼 整形 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<<" "; } } }