Alexandra and Prime Numbers
阿新 • • 發佈:2018-12-11
#include <cstdio> #include <cmath> #include <algorithm> using namespace std; int main() { int n; while(scanf("%d", &n) != EOF){ int maxn = 0, tmp = n; if(n == 1){ printf("0\n"); continue; } for(int i = 2; i <= (int)sqrt(n); i++){ //最多隻有一個質因子大於 sqrt(n) while(tmp % i == 0){ //確保每個 i 都是素數 maxn = i; tmp /= i; // tmp 可以用來儲存可能大於 sqrt(n) 的質因子 } } maxn = max(maxn, tmp); printf("%d\n", n/maxn); } return 0; }