我的任務是從用戶那裏接受無盡的輸入(ctrl-d終止),並在輸入的數字是素數時返回一個響應。對此的扭曲是,我不得不使用所有數字的%函數< =數字輸入的平方根,我必須製作一個涵蓋數字輸入的素數列表(如果數字輸入是6,列表必須包含2,3,5和7),線性搜索列表,如果輸入數字在列表中,則返回true。它也必須在一個班級。作業幫助:素數標識符C++
這是我的Isprime函數。
bool isprime::Isprime(int N){
int i,primenum,max=1;
int prime[max];
prime[0]=2;
for(primenum=3;prime[max-1]<N;primenum++){
for(i=2;i<primenum;i++){
if(primenum%i!=0){
max++;
prime[max-1]=primenum;
}
}
for(int j=0;j<max;j++){
if(N==prime[j])
return true;
}
return false;
}
當我運行該程序,返回所需要的輸出爲2(一個我最初投入列表中唯一的號碼。我在做什麼錯在這裏?感謝先進的輸入。
編輯1:當用戶輸入數字時,如果使用isPrime函數返回true,一個簡單的cout < <ñ< <「是一個素數」是輸出這就是我的意思是由理想的輸出
編輯2。 :編輯我的功能後,由於一些粗心的錯誤,所有輸入整數ar e返回true。
你能澄清你的預期產出是什麼? – nhgrif
當用戶輸入數字時,如果Isprime函數返回true,則輸出一個簡單的cout << N <<「是素數」。 –
例如,當用戶輸入「4」並點擊輸入時,不輸出任何內容。但是當他們鍵入「3」並點擊輸入時,它會顯示「3是一個素數」。 –