c语言实例--求100--200之间的素数(最简单的方法求素数)

问题:求出100-200之间的全部素数!!!

思路先行:

第一步:素数的判定条件为:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除的数叫做质数;否则称为合数。

第二步:使用双重for循环,第一层:遍历100-200之间的数字。

                                           第二层:遍历(2)-(i-1)之间的数字

第三步:使用if判断语句:如果i%j==0的话,就是合数,否则j>=i的话,则打印出素数。

代码如下:

#include <stdio.h>         //引用文件
main()
{
	int i,j;               //定义循环变量
	for(i=100;i<=200;i++)              //定义从100-200之间的循环数字
	{
		for(j=2;j<i;j++)          //判定条件从(2)---(i-1)之间能否被i整除
		{
			if(i%j==0) break;        //如果可以则跳出循环,不是素数
		}
		if(j>=i)                    //如果j>=i则为素数,并输出
			printf("%d\t",i);     //用表格的形式输出结果
	}
}

输出结果如下:


### 回答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之间素数,并打印出总共有多少个素数。注意,该程序只适用于100200的范围,若要判断其他范围的素数,只需更改`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`变量记录素数的个数。最后输出素数的个数。
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值