×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
解題報告
#46295: 更好的解法
ytconch@gmail.com
(神奇的海螺)
學校 : 國立清水高級中學
編號 : 307834
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [60.198.74.127]
最後登入時間 :
2025-09-13 20:14:17
a010.
因數分解
| From: [61.67.27.1] | 發表日期: 2025-06-13 11:11
#include <iostream>
using namespace std;
int prime(int v){
if(v == 2 || v == 3 || v==5)return true;
else if(v%2 == 0 || v % 3 == 0)return false;
else{
for(int i = 5 ; i*i < v ; i+= 6)if(v%i==0||v%(i+2)==0)return false;
}
return true;
}
int main(){
int n , count{};
cin >> n;
for(int ia = 2 ; ia <= n; ++ia){
int check{};
while(n%ia==0&&prime(ia)){
n /= ia;
++check;
}
if(check){
cout << (count?"* ":"") << ia;
if(check>1)cout << "^" << check;
cout << " ";
++count;
}
}
}