基本程式題目
問題:求一數f是否為某數N的因數,也就是說,f是否能整除N。
做法:整除的判斷即檢查N被f除後,餘數是否為0。在C/C++中,求餘數的運算子為%。
程式範例解答
#include <iostream>
using namespace std;
void main(){
float f, N;
cout<<"請輸入N(被除數)與f(除數)"
cin>>f >> n;
if(N%f == 0){
cout<< cout << f << "可整除" << N << endl;
}
system("pause");
}
閏年的判斷(易)
問題:公元年哪時候二月會閏月?
做法:判斷y是否被400整除,可以被4整除不被100整除。
程式範例解答
#include <iostream>
using namespace std;
void main(){
int year;
cout<<"請輸入年份"
cin>>year;
if(year%=400==0)||(year%4==0&&year%100!=0){
cout<< "西元" << year << "年是閏年" << endl;
}
else{
cout<< "西元" << year << "年是閏年" << endl;
}
system("pause");
}
因數的判斷(易)
質數的判斷(中)
問題:一數N若為質數,N的因數僅有1與本身數N,也就是說若2~(N-1)中有N之因數(可整除N),那麼N即不是質數。
做法: 1.使用一個布林變數isPrime,初值為true(此布林變數表示N是否為質數,程式一開始先認定N為質數)
(迴圈開始) 2.使用一迴圈敘述,使用迭代變數i,下限值為2,上限值為N-1,若i可整除N,設定isPrime為false,跳出迴圈 (迴圈結束)
3.判斷isPrime為true輸出N為"質數",否則,輸出輸出N為"不是質數"。
程式範例解答
#include <iostream>
using namespace std;
void main(){
int N = 11;
int i = 2;
bool isPrime = true;
while (i <= N-1 && isPrime){
if (N % i == 0) {
isPrime = false;
break;
}
i++;
}
if (isPrime){
cout << "是質數";
} else {
cout << "不是質數";
}
system("pause");
}