写一个c加加求100以内质数
时间: 2024-09-18 17:16:27 浏览: 61
在C++中,我们可以编写一个简单的程序来找出100以内的所有质数。质数是只有两个正因数(1和自身)的大于1的自然数。下面是一个基本的示例,展示了如何利用循环和条件判断来实现这个功能:
```cpp
#include <iostream>
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
int main() {
int limit = 100;
std::cout << "质数列表(100以内): ";
for (int i = 2; i <= limit; i++) {
if (isPrime(i))
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
```
在这个程序中,`isPrime()` 函数用于检查一个数是否为质数,`main()` 函数则遍历2到100之间的所有整数,如果发现是质数就打印出来。
相关问题
c加加求1000以内的完数代码
以下是C++代码:
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 1000; i++) {
int sum = 0;
for (int j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
cout << i << "是完数" << endl;
}
}
return 0;
}
请用c加加写出200以内五个一组的素数程序
在C++中编写一个用于找出200以内五个一组的素数的程序,我们可以采用埃拉托斯特尼筛法(Sieve of Eratosthenes)。首先,我们需要一个函数来判断是否为素数,然后遍历并筛选出所有小于或等于200的素数。最后,我们可以创建一个循环来找到连续的五个素数。以下是简化的示例代码:
```cpp
#include <iostream>
#include <vector>
// 判断是否为素数
bool isPrime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; ++i) {
if (num % i == 0) return false;
}
return true;
}
// 找到200以内的五个一组的素数
void findPentuplePrimes() {
std::vector<bool> primes(201, true); // 初始化一个布尔数组标记201内所有数是否为素数,默认设为true
primes[0] = primes[1] = false;
int count = 0;
for (int i = 2; i * i <= 200; ++i) { // 只需检查到√200
if (primes[i]) {
for (int j = i * i; j <= 200; j += i) {
primes[j] = false; // 如果找到因子,则该数不是素数
}
}
}
// 输出五个一组的素数
int start = 2; // 从2开始搜索第一个五组的首项
while (count < 5) {
if (primes[start]) {
std::cout << start << " ";
count++;
}
start++; // 移动到下一个数
if (count == 5) {
std::cout << "\n";
count = 0; // 当找到一组后,重置计数
}
}
}
int main() {
findPentuplePrimes();
return 0;
}
```
这个程序会打印出200以内每五个连续的素数。注意,因为素数分布并不均匀,所以可能不会恰好有五个一组,最后一个组可能会少于五个。
阅读全文
相关推荐















