質數編程
質數(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位小數)