2 個解答
- Big_John-twLv 71 0 年前最佳解答
先前有人問過相同的 C 程式碼,我只是把它改寫成 C++ 而已。
//Power by Microsoft Visual Studio 2005
//可以使用 Dev-C++ 編譯此程式
#include<iostream>
#include<cstdlib>
#include<cmath>
using namespace std;
int main(int argc,char *argv[]){
//=====START=====//
bool check_prime(int number),retHigh;
int a,nhighPrime;
cout<<"Input a integer: ";
cin>>a;
nhighPrime=a;
do{
retHigh=check_prime(nhighPrime);
nhighPrime++;
}while(!retHigh);
cout<<"Bigger prime: "<<--nhighPrime<<endl;
//=====END=====//
system("PAUSE");
return EXIT_SUCCESS;
}
bool check_prime(int number){//Check number
int i;
bool retBoolean=true;
//1 is True, 0 is False
for(i=2;i<=static_cast<int>(sqrt(static_cast<float>(number)));i++){
if((number%i)==0){
retBoolean=false;//false
break;
}
}
return retBoolean;//return boolean value
}
2006-07-27 10:53:22 補充:
抱歉!有一行要修改:錯誤=>nhighPrime=a;正確=>nhighPrime=a+1;
參考資料: C++ 程式碼 - 1 0 年前
......不好意思,我只會比較簡單的 = =;
==========================================
#include "stdafx.h"
#include "iostream"
using namespace std;
bool prime(int n);
int _tmain(int argc, _TCHAR* argv[])
{
int n;
cout<< "enter a number : ";
cin >> n;
for(int m = n + 1; (prime(m) == false); m++)
{
prime(m);
}
cout<< m << endl;
return 0;
}
bool prime(int n)
{
bool result = true;
for(int i = 2; i < n; i++)
{
if(n % i == 0)
result = false;
}
return result;
}
參考資料: 自己