# 20191214TOI新手同好會2.質數日 --- 題目連結:https://zerojudge.tw/ShowProblem?problemid=e795 --- ```clike= #include<iostream> #include<math.h> using namespace std; int prime(int num){ int flag = 0; for(int i = 2; i <= sqrt(num); i++){ if(num % i == 0){ flag = 1; break; } } return flag; } int main(){ int t, n, i; cin >> t; while(t--){ int ans = 0, temp = 0; cin >> n; for(i = 1; i <= 8; i++){ temp = n % int(pow(10, i)); if(prime(temp) == 1){ ans = 1; break; } } if(ans == 0) cout << n << " is a Prime Day!" << endl; else cout << n << " isn't a Prime Day!" << endl; } return 0; } ``` --- 解題想法: 從最後一位(個位)開始測試是否為質數,若不為質數則停止,原因是考量從最高位(也就是八位數的值),執行時間較久 * <math.h> sqrt(x) x開根號 pow(x, y) x的y次方 兩者回傳值型態皆為float,若要運算要強制轉回int
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up