质数编程
质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数,如:2、3、5、7、11、13、17、19。
方法一:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
num=[];
i=2
for i in range(2,100):
j=2
for j in range(2,i):
if(i%j==0):
break
else:
num.append(i)
print(num)
方法二:
import mathdef
func_get_prime(n):
return filter(lambda x: not [x%i for i in range(2, int(math.sqrt(x))+1) if x%i ==0], range(2,n+1))
print func_get_prime(100)
输出结果为:
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
希望我的回答对你有帮助!
‘贰’ 如何用编程寻找质数
以下的程序用来寻找n以内的所有质数:
#include<stdio.h>
int isprime(int n)
{ for(int i=2; i*i<=n; i++)
if(n%i==0)return 0;
return n>1;
}
int main()
{ int n,i,k=0;
scanf("%d",&n);
for(i=2; i<=n; i++)
if(isprime(i))
{ printf("%d ",i);
if(++k%10==0)printf(" ");
}
printf(" ");
return 0;
}
‘叁’ 输出50到100所有质数的c语言编程
/**
**程序说明:质数也叫素数。
*/
#include<stdio.h>
#include<math.h>
//判断整数是否为素数
intisPrime(intn)
{
inti;
for(i=2;i<=(int)sqrt(n);i++)//遍历从2~n的平方根向下取整
if(n%i==0)//如果有i能被n整除,则n不是素数,返回0,否则返回1
return0;
return1;
}
//求某一范围内的所有素数
voidqiuPrimeNumber(intstart,intend)
{
inti,j,count;
for(i=start,count=0;i<=end;i++)
if(isPrime(i))//调用素数判断函数
{
printf("%-4d",i);
count++;
if(count%10==0)//输出10个素数则输出一个换行
{
printf(" ");
count=0;
}
}
}
intmain()
{
printf("50~100之间的所有质数为: ");
qiuPrimeNumber(50,100);//调用函数求出50~100内的所有质数
return0;
}
‘肆’ 能否只用代码编写程序判断出100以内的质数
编程如下:
public class SuShuo
{static int k;
public static void main(String[] args) {
int i,j;
for(i=1;i<=100;i++){
for(j=2;j<i;j++)
{
if(i%j==0){
//System.out.println(i+"不是素数");
break;
}
}
if(i==j)
{
System.out.println(i+"是素数");
}
}
}
}
抓住素数的定义,100以内的素数其实不用计算就可以判断。
定义:素数就是质数,就是除了1和它本身以外不再有其他的因数。
最小的素数是2
100以内的素数素数的规律如下:
1、个位是偶数的只有2;
2、个位是5的只有5;
3、个位是1的有11、31、41、61、71,共5个;
4、个位是3的有3、13、23、43、53、73、83,共7个;
5、个位是7的有7、17、37、47、67、97,共6个;
6、个位是9的有19、29、59、79、89,共5个。
注:个位十位数字相同的除了11外,其它都不是素数。
100以内的素数共25个,如下:
2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97
口诀如下:
二,三,五,七,一十一;
一三,一九,一十七;
二三,二九,三十七;
三一,四一,四十七;
四三,五三,五十九;
六一,七一,六十七;
七三,八三,八十九;
再加七九,九十七;
25个质数不能少;
百以内质数心中记。
‘伍’ 求1到100中所有的质数的C语言程序
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
大哥大姐帮忙呀!
解析:
#include <stdio.h>
#include <math.h>
bool IsPrime(int n);
void main(void)
{
for (int i = 2; i <= 100; i ++)
{
if (IsPrime(i))
{
printf("%d是质数\r\n", i);
}
}
}
bool IsPrime(int n)
{
int nRoot = int(sqrtf(n));
for (int i = 2; i < nRoot; i ++)
{
if (n % i == 0)
return false;
}
return true;
}
‘陆’ 编程求质数
#include
#include
void
main()
{
int
m,i,k;
scanf("%d",&m);
k=sqrt(m);
for
(i=2;i
if(m%i==0)break;
if(i>k)printf("%d
is
a
prime
number\n",m);
else
printf("%d
is
not
a
prime
number\n",m);
}
此程序判断一个大于等于2的整数是质数还是合数。
要软件10分钟就可以做一个,就是带窗口程序的,不过马上要去实验室了。
再给20分晚上就帮你做。
‘柒’ 输出100以内的质数,用c语言编写
#include <stdio.h>
int main(int argc, char **argv)
{
int x;
for (x=1;x<100;x++){
int i;
int isprime=1;//表示x是素数。
for(i=2;i<x;i++){
if (x%i==0){
isprime=0;
break;
}
}
if (isprime==1){
printf("%d",x);
}
}
return 0;
}
C语言编程计算注意事项:
1、编程时注意符号大小写。
2、main函数要有返回值
3、C语言中定义数组,要定义出大小,数组的大小只能是常量不能是变量。
4、%md ; %0md ;%.mf;(以m位进行右对齐输出,不足m位空格补上;以m位进行右对齐输出。不足m位用0补上;保留m位小数)