c/python_用函数Prime(int n, int m, int *num)实现获得n到m之间所有的素数/filter函数筛选质数

problem:

输入两个数n和m(n<m),求n到m之间所有的素数,存放在一个数组中,最后打印出来。

要求,用函数Prime(int n, int m, int *num)实现获得这些素数

输入
两个数n和m(n<m)

输出
求n到m之间所有的素数,存放在一个数组中,最后打印出来。

样例输入
2
3
样例输出
2
3

c

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
//在此下方插入自定义函数对的声明:
int Prime(int m,int n,int* prime_array);
//主函数main
int main()
{
int m,n;
while( scanf("%d%d",&m,&n) != EOF)
{
int prime_array[100];
for(int i = 0;i<Prime(m,n,prime_array);i++)
printf("%d\n",prime_array[i]);
}
return 0;
}
//主函数结束.
//在下方编写自定义函数:
int Prime(int m,int n,int* prime_array)
{
int k=0;
for(int i = m;i <= n;i++)
{
int j = 2;
if(i == 0 || i == 1)
{
continue;
}
else if (i == 2 || i ==3)
{
prime_array[k++] = i;
}
else
{
for (; j * j < i + 1; j++)
{
if (i % j == 0)
{
break;
}
}
if(j*j>=i+1)
prime_array[k++] = i;
}
}
return k;//k是从0开始的.
}

python

filter prime numbers in specified range

'''
Description:
Version: 2.0
Author: xuchaoxin
Date: 2021-04-08 22:55:30
LastEditors: xuchaoxin
LastEditTime: 2021-04-10 09:35:25
'''
def is_prime(x):
""" list contains several 0 :
a empty list is False,if the len(list)>0,it is True:
if the x is prime,the list will be empty,not list is True,so return True
else, the x is not prime,the list will not be empty,the list is True,not list is False,so return False"""
if x==0 or x==1:
return False
list = [x for i in range(2, x) if x % i == 0]
# print(not list)
return not list
prime_iterator = filter(lambda x: is_prime(x), range(0, 20))
for i in prime_iterator:
print(i)
posted @   xuchaoxin1375  阅读(14)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2022-04-25 C_编写一个从输入流读入整数的函数,当这个整数是流末尾结束位置,返回EOF(对应的值)/灵活的调试宏的定义和使用/C语言对齐打印(指定下限宽度)
点击右上角即可分享
微信分享提示