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
广告