洛谷 P1075 质因数分解
程序员文章站
2022-03-14 09:48:47
...
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
for(int i=2; i<n; i++){
if(n % i == 0){
cout << n/i;
break;
}
}
return 0;
}
**
用埃拉托色尼筛法,一直RE,不知道怎么回事,求大神解答!!!
代码如下:
#include<bits/stdc++.h>
using namespace std;
void eratos(int n, int isprime[]){
for(int i=0; i<=n; i++){
isprime[i] = 1;
}
isprime[0] = isprime[1] = 0;
for(int i=2; i*i<n; i++){
if(isprime[i] == 1){
int j = i + i;
while( j<=n ){
isprime[j] = 0;
j += i;
}
}
}
}
int main(){
int n;
cin >> n;
int isprime[n], buf[5]={0}, j=0;
eratos(n, isprime);
for(int i=n; i>=2; i--){
if(isprime[i] == 1){
if(n/i != 0 && n%i == 0){
cout << i;
break;
}
}
}
return 0;
}
下一篇: 图书管理程序(三)