c语言实现:求100~200之间的素数

首先要知道如火去判断一个数是否是素数!即:一个数除了1和本身之外没有其他的数可以被其整除!

首先100-200间偶数可以直接排除掉,所以从101开始,每次+2。另外除数只用循环至被除数一半即可。最后输出素数。


#include<stdio.h>
int main()
{
	int i;
	int j;
	for(i = 101;i <= 199;i+=2)
	{
		for(j = 2;j < (i/2);j++)       
		{
			if(i % j ==  0)
				break;         // 当i可以整除j的时候,跳出循环。
		}
		if(j == i/2)	
		    printf("%d\n",i);          //输出i
	}
	return 0;
}




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 1. 首先需要明确什么是素数素数是指只能被1和自身整除的正整数,如2、3、5、7、11等。 2. 解题思路:对于100~200之间的每个数,判断其是否为素数,如果是素数,则输出。判断素数可以通过试除法,即将该数分别除以2到其平方根范围内的所有正整数,如果都不能整除,则该数为素数。 3. 具体实现: ``` #include <stdio.h> #include <math.h> int main() { int i, j; for(i = 100; i <= 200; i++) { int isPrime = 1; // 标记是否为素数,初始假设为素数 for(j = 2; j <= sqrt(i); j++) // 试除法判断素数 { if(i % j == 0) { isPrime = 0; // 如果能整除,则不是素数 break; } } if(isPrime) // 如果是素数,则输出 { printf("%d ", i); } } return 0; } ``` 4. 程序输出结果为:101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199。 ### 回答2: C语言编程可以通过编写一个程序来将100200之间素数输出。素数是指只能被1和自身整除的自然数,而不被其他数字整除。首先,我们可以编写一个循环来遍历100200之间的所有数字。对于每个数字,我们可以编写另一个循环来检查其是否为素数。 在内层循环中,我们可以从2开始除到待检查数字的平方根。如果待检查数字可以整除任何一个小于它的数字,则它不是素数。否则,它就是素数。 我们可以使用取余运算符(%)来检查两个数字是否能够整除,如果余数为0,则表示能够整除。当我们在内层循环找到一个能够整除的数字时,我们可以使用一个flag变量来标记该数字不是素数,并跳出循环。 最后,在外层循环中,我们可以检查flag变量的值。如果flag变量仍然为0,则表示该数字是素数,因此我们可以将其输出。 这样,我们就可以通过C语言编程来找到100200之间素数并输出它们。 ### 回答3: C语言编程可以通过编写程序来将100~200之间素数输出。素数是指只能被1和自身整除的数,不包括能被其他数整除的数。下面是实现这个目标的分析步骤: 1. 首先,我们可以使用一个循环来遍历100~200之间的每个数。 2. 在循环中,我们可以使用另一个循环来检查当前数字是否为素数。我们可以遍历2到当前数字的平方根之间的所有数来检查是否有可以整除当前数字的数。 3. 如果找到能整除当前数字的数,那么说明当前数字不是素数,我们可以使用一个变量来记录这个情况。 4. 如果在循环结束时,没有找到能整除当前数字的数,那么说明当前数字是素数,我们可以将其输出。可以使用printf函数来实现输出。 5. 最后,我们可以在循环结束后输出所有的素数。 下面是用C语言编程的示例代码: ```c #include <stdio.h> #include <math.h> int main() { int i, j, isPrime; printf("100~200之间素数有:\n"); for(i = 100; i <= 200; i++) { isPrime = 1; for(j = 2; j <= sqrt(i); j++) { if(i % j == 0) { isPrime = 0; break; } } if(isPrime == 1) { printf("%d ", i); } } return 0; } ``` 运行以上代码,将会输出结果为:101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199。这些数字都是100~200之间素数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值