×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
#41369: C++解法
ss112030023@gapp.nthu.edu.tw
(林芃愷)
學校 : 不指定學校
編號 : 275931
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [49.159.216.244]
最後登入時間 :
2024-07-25 14:04:07
a010.
因數分解
| From: [49.159.216.244] | 發表日期 : 2024-07-21 07:18
#include <iostream>
using namespace std;
long long factors[10000];
int power[10000];
int cnt = 0;
int main()
{
long long n;
cin >> n;
int pow = 0;
if(n % 2 == 0) {
factors[cnt] = 2;
while(n % 2 == 0) {
n /= 2;
pow++;
}
power[cnt++] = pow;
}
for(long long i=3; i*i<=n; i+=2) {
pow = 0;
if(n % i == 0) {
factors[cnt] = i;
while(n % i == 0) {
n /= i;
pow++;
}
power[cnt++] = pow;
}
}
if(n > 2) {
factors[cnt] = n;
power[cnt++] = 1;
}
for(int i=0; i<(cnt-1); i++) {
cout << factors[i];
if(power[i] > 1) {
cout << "^" << power[i];
}
cout <<" " <<"*"<<" ";
}
cout << factors[cnt-1];
if(power[cnt-1] > 1) {
cout << "^" << power[cnt-1];
}
cout << endl;
}
ZeroJudge Forum