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 次浏览

开启你的职业生涯

完成课程获得认证

开始
广告