C语言判断101到200之间的素数用一个数分别去除2到sqrt
时间: 2024-02-28 16:56:55 浏览: 130
101到200之间的素数可以用以下的C语言代码进行判断:
```
#include <stdio.h>
#include <math.h>
int is_prime(int n) {
int i;
if (n <= 1) {
return 0;
}
for (i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int i;
for (i = 101; i <= 200; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
这段代码中,`is_prime`函数用于判断一个数是否为素数,如果是素数则返回1,否则返回0。在`main`函数中,我们循环遍历101到200之间的所有数字,对于每个数字,如果它是素数,则输出它。
相关问题
用C语言代码 判断101-200之间有多少个素数,并输出所有素数
### 回答1:
答:可以使用以下C语言代码来解决这个问题: #include <stdio.h>
#define MAX 200 int main(void)
{
int i, j, count = 0;
int prime[MAX];
for (i = 2; i <= MAX; i++)
{
int isprime = 1;
for (j = 2; j < i; j++)
{
if (i % j == 0)
isprime = 0;
}
if (isprime)
{
prime[count] = i;
count++;
}
}
printf("101-200之间一共有%d个素数,它们分别是:\n",count);
for (i = 0; i < count; i++)
printf("%d\n", prime[i]);
return 0;
}
### 回答2:
题目要求用C语言代码判断101-200之间有多少个素数,并输出所有素数。要解决这个问题,我们可以使用两个循环嵌套扫描101-200之间的所有数,对每个数进行素数判断。
首先,素数是只能被1和自身整除的大于1的自然数。因此,我们可以编写一个函数来判断一个数是否为素数。该函数接受一个正整数作为参数,然后用2到该数之间的所有整数依次去除该数,如果能被整除,说明该数不是素数。如果2到该数一半范围内都不能被整除,说明该数是素数。
以下是使用C语言编写的代码:
```c
#include <stdio.h>
int isPrime(int num) {
int i;
for(i = 2; i <= num/2; i++) {
if(num % i == 0) {
return 0; // 不是素数
}
}
return 1; // 是素数
}
int main() {
int count = 0;
printf("101-200之间的素数有:\n");
for(int i = 101; i <= 200; i++) {
if(isPrime(i)) {
printf("%d ", i);
count++;
}
}
printf("\n共有%d个素数。\n", count);
return 0;
}
```
运行上述代码后,会输出101-200之间的素数,并打印出总共有多少个素数。注意,该程序只适用于100到200的范围,若要判断其他范围的素数,只需更改`for`循环中的起始和结束值即可。
### 回答3:
判断一个数是否为素数的基本思路是,遍历该数的所有可能的因子(从2到sqrt(n)),如果该数能被任何因子整除,则该数不是素数,否则是素数。
下面是一个使用C语言代码来判断101-200之间的素数并输出的实例:
```c
#include <stdio.h>
int isPrime(int num) {
//判断是否为素数的函数
int i;
for(i = 2; i <= num/2; i++) {
if(num % i == 0)
return 0; //不是素数
}
return 1; //是素数
}
int main() {
int i, count = 0;
printf("101-200之间的素数有:\n");
for(i = 101; i <= 200; i++) {
if(isPrime(i)) {
printf("%d ", i);
count++;
}
}
printf("\n");
printf("共有%d个素数\n", count);
return 0;
}
```
运行后的输出结果是:
```
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
共有21个素数
```
这段代码首先定义了一个`isPrime`函数,用于判断一个数是否为素数。然后在`main`函数中,使用一个for循环遍历101到200之间的所有数,使用`isPrime`函数判断每个数是否为素数,如果是则输出,并使用`count`变量记录素数的个数。最后输出素数的个数。
判断一个数是否为素数C语言
判断一个数是否为素数可以采用试除法,从2开始到该数的平方根之间的所有整数都去除一遍该数,如果都没有整除该数则为素数。
以下是C语言代码实现:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int num, i;
int is_prime = 1; // 假设该数为素数
printf("请输入一个正整数:");
scanf("%d", &num);
if (num <= 1) {
is_prime = 0; // 小于等于1的数都不是素数
} else {
for (i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
is_prime = 0; // 能被整除则不是素数
break;
}
}
}
if (is_prime) {
printf("%d是素数\n", num);
} else {
printf("%d不是素数\n", num);
}
return 0;
}
```
输入一个正整数,程序会输出该数是否为素数。
阅读全文