任意输入若干个数,判断这些数是否是素数,若是则输出这个数。说明:1)一行输出5个数 2)循环语句不限制

题目

任意输入若干个数,判断这些数是否是素数,若是则输出这个数。

说明:

1)一行输出5个数
2)循环语句不限制

#include<stdio.h>
#include<math.h>
int main()
{
	int a[1000],i=0,c=0;
	char b;
	do {
	scanf("%d%c",&a[i],&b);
	i++;
    }while((int)b!=10);//输入若干个数直到换行结束  
	for(int j=0;j<i;j++)//对若干个数进行判断 
    {
    	if(a[j]>1)
    	{
    		int s=sqrt(a[j]),judge=1;
    		for(int k=2;k<=s;k++)
			{
				if(a[j]%k==0&&a[j]!=2)//满足条件为合数
			{	
					judge=0;
					break;
				}
			}
			if(judge)
			{
				printf("%d",a[j]);
				c++;
				if(c%5==0)printf("\n");
			    else printf(" ");
			}
		}
		else printf("输入的值不是除了1之外的正整数");
	}
	return 0;
} 
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 示例输入: 10 50 示例输出: 23 43 83 3 共有3个素数符合条件。 解题思路: 首先用一个函数判断个数是否素数。然后从M到N遍历每个数判断是否满足条件,是则输出,并计数器加1。最后输出计数器的值。 完整代码: ### 回答2: 你可以使用以下Python代码来解决这个问题: ```python def is_prime(n): if n < 2: return False for i in range(2, int(n**0.5) + 1): if n % i == 0: return False return True M, N = map(int, input().split()) count = 0 for num in range(M, N+1): if is_prime(num) and num % 10 == 3 and (num // 10) % 2 == 0: print(num) count += 1 print(count) ``` 这段代码首先定义了一个`is_prime`函数,用于判断个数是否素数。然后通过`input().split()`来获取输入的M和N,并将它们转换为整数。接下来,我们使用一个循环遍历从M到N的所有数字,对每个数字使用`is_prime`函数进行判断。如果满足同时是素数、个位数字是3且十位数字为偶数的条件,就打印该数字,并将计数器`count`加1。最后,输出计数器的值,即素数个数。 ### 回答3: 代码如下: ```python def is_prime(num): if num < 2: return False for i in range(2, int(num ** 0.5) + 1): if num % i == 0: return False return True input_str = input() M, N = map(int, input_str.split()) count = 0 # 计数器,记录符合条件的素数个数 for num in range(M, N + 1): if is_prime(num) and (num % 100) // 10 % 2 == 0 and num % 10 == 3: print(num) count += 1 print(count) ``` 以下是代码的详细解释: 1. 定义一个`is_prime`函数,用于判断个数是否素数。 2. 读取输入的字符串,并使用`split`方法将字符串分割成两个整数M和N。 3. 定义一个计数器`count`用于统计符合条件的素数个数。 4. 使用一个循环遍历从M到N范围内的所有自然数。 5. 对于每个数判断是否素数,并且十位数字是偶数,个位数字为3。如果满足条件,则打印这个数,并将计数器`count`加1。 6. 最后打印出计数器`count`的值,即符合条件的素数个数
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值