在这个问题中,我们得到一个正整数 N。我们的任务是创建一个程序来检查给定的数字是否是节俭的数字。
FRUGAL NUMBER – 其位数严格大于给定数字的质因数分解中的位数的数字。
示例 – 625,数字 625 的质因数是 54。
625 的位数是 3。
立即学习“C++免费学习笔记(深入)”;
54 是 2。
3 严格大于 2。因此,625 是一个节俭的数字。
前几个节俭的数字是 – 125, 128、243、256、343、512、625等
我们举个例子来理解一下问题
Input: n = 128Output: Frugal numberExplanation :Factors of 128 are 2^7, number of digits 2.The number of digits in 128 is 3.The number is a frugal number.
登录后复制
解决方案
该问题的一种解决方案是检查当前数字 n 是否为节俭数字。为此,我们将找到n的质因数并计算分解中的位数,然后计算该数的位数。如果数字中的位数大于因数中的数字,则该数字是节俭数字,否则不是。
示例
说明我们解决方案工作原理的程序
#include using namespace std;vector calcPrimeNum(long int n){ bool primeNos[n + 1]; memset(primeNos, true, sizeof(primeNos)); for (int i = 2; i * i allPrimeNumbers; for (int i = 2; i primeNum = calcPrimeNum(n); long int num = n; long int factorDigitCount = 0; for (int i = 0; i factorDigitCount && factorDigitCount != 0);}int main(){ long int n = 625; cout输出
The number 625 is a Frugal number登录后复制
以上就是在C++中,”Frugal Number”的翻译是”节俭数”的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2582162.html