C++中數字的遞迴數字和是否為質數


給定一個整數變數number作為輸入。目標是計算輸入數字的數字之和,並檢查該和是否為質數。直到獲得的數字(數字之和)成為一位數為止,重複此過程。檢查該數字是否為質數。如果輸入數字是123,則數字之和將是1+2+3=6,這是一個非質數,6也是一位數。

讓我們看看這個程式的各種輸入輸出場景

輸入 - number=12341

輸出 - 數字的遞迴數字和是質數

解釋 -

1+2+3+4+1=11

1+1=2

2是一個質數。

輸入 - number=1664

輸出 - 數字的遞迴數字和不是質數

解釋 -

1+6+6+4=17

1+7=8

8是一個非質數。

下面程式中使用的方法如下

  • 宣告一個整數變數作為number。

  • 將資料作為Recursively_Prime(number)傳遞給函式。

  • 在Recursively_Prime(number)函式內部

    • 將number設定為對sum(number)函式的呼叫。

    • 檢查IF number是3或number是5或number是7,則列印質數。

    • 否則,列印非質數。

  • 在sum(int number)函式內部

    • 檢查IF number是0,則返回0。

    • 否則,IF number % 9是0,則返回9。

    • 否則,返回number % 9。

  • 列印結果。

示例

#include<iostream>
using namespace std;
int sum(int number){
   if(number == 0){
      return 0;
   }
   else{
      if(number % 9 == 0){
         return 9;
      }
      else{
         return number % 9;
      }
   }
}
void Recursively_Prime(int number){
   number = sum(number);
   cout<<"Recursive sum of digits of a number is ";
   if(number == 2 || number == 3 || number == 5 || number == 7){
      cout << "PRIME";
   }
   else{
      cout << "NOT PRIME";
   }
}
int main(){
   int number = 5555;
   Recursively_Prime(number);
}

輸出

如果我們執行上面的程式碼,它將生成以下輸出

Recursive sum of digits of a number is PRIME

更新於:2021年11月3日

553 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.