素数c++

读入一个数 nn,请判断它是不是素数。

输入格式

第一行,一个整数 nn

输出格式

输出一行,如果 nn 是素数,则输出 yes,否则输出 no

样例输入
样例输出
数据限制

对于 100%100% 的数据,保证 2≤n≤100000。

方法一

方法二

### C++ 中处理质数的示例代码 #### 判断一个数是否为质数 在C++中,可以使用如下函数来判断一个给定的整数 `n` 是否为质数: ```cpp #include <iostream> #include <cmath> bool isPrime(int n) { if (n <= 1) { return false; } for (int i = 2; i <= std::sqrt(n); ++i) { if (n % i == 0) { return false; } } return true; } int main() { int num; std::cout << "Enter a number: "; std::cin >> num; if (isPrime(num)) { std::cout << num << " is a prime number." << std::endl; } else { std::cout << num << " is not a prime number." << std::endl; } return 0; } ``` 这段代码实现了基本的质数检测功能[^1]。 #### 质数分解算法 对于正整数的质因数分解,在C++中的实现方式如下所示: ```cpp #include <iostream> void primeFactorization(int n) { std::cout << "Prime factors of " << n << ": "; // 处理偶数因子 while (n % 2 == 0) { std::cout << "2 "; n /= 2; } // 查找奇数因子 for (int i = 3; i * i <= n; i += 2) { while (n % i == 0) { std::cout << i << " "; n /= i; } } // 如果剩余的是大于2的质数,则输出该数 if (n > 2) { std::cout << n; } std::cout << std::endl; } int main() { int num; std::cout << "请输入一个正整数:"; std::cin >> num; primeFactorization(num); return 0; } ``` 此程序能够有效地找出并打印输入数值的所有质因数[^2]。 值得注意的是,当面对特别大的数字时,上述方法可能会变得效率低下。因此,针对大数目的情况,建议采用更加优化的方法或专门设计的大整数运算库来进行质数相关的计算操作[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值