求小於一個整數的所有素數
#include <stdio.h>
#include <math.h>
int main ()
{
int i,j,k,a;
printf ("請輸入一個正整數:\n");
scanf ("%d",&a);
printf ("\n");
for (i=3;i<=a;i++)
{
k=0;
for (j=2;j<=i/2;j++)
{
if (i%j==0)
{
k=1;
break;
}
}
if (k==0)
printf ("%d\n",i);
}
return 0;
}
相關推薦
求小於一個整數n的所有素數
** 主要知識點: 一個只能被自己和1整除的正整數就是素數,也叫質數,這裡有個規律,就是一個數如果不能被大於2且小於這個整數平方根的數整除,那麼這個數就是素數。 實現程式碼: import java.util.ArrayList; /* * 求小於一個自然數n的所有素數
求小於一個整數的所有素數
/*編寫一個程式,讀入一個整數,輸出所有小於等於這個整數的素數。*/ #include <stdio.h> #include <math.h> int main () {int i,j,k,a;printf ("請輸入一個正整數:\n");scan
Eratosthenes篩選法求小於N的所有素數個數
求出1~N範圍中所有的素數,在leetcode中做過這個題目,我想從對每個1~N進行一次遍歷,每個數判斷一次是否是素數。 判斷一個數是否是素數的複雜度本身也是挺高的,再進行一次迭代,在leetcode中的結果是超時: class Solution { p
輸入一個整數n,求小於這個整數的所有質數。
演算法:定義一個長度為n的boolean陣列,true表示是質數,false表示不是質數。初始化為true,之後從2開始迴圈。步驟: I、找到第一個值為true的下標i。 II、把所有的下標為i的倍數的值 置為false。 III、直到掃描完陣列中的所有數值
輸入一個自然數n,求小於等於n的素數之和
程式碼如下 #include<stdio.h> #include<math.h> int panduan(int i) { int n=2,p=1; if(i==2||i==3) return 1; while(n<=sqrt(i)) {
篩法求小於等於整數n的所有質數
篩法求n以下的質數最核心的是確定其倍數未消去的最大數p應該滿足的條件。要消去q的倍數,最小應該從q*q考察起(因為其他跟小的倍數已經由2p,3p。。。(p-1)*p消去了) 那麼消去q的倍數只需從q*q開始 到n結束(滿足不等式q*q <=n). 以下是測試程式碼: #
寫一個程式,輸入一個長整型數,輸入一任意一個長整數,請用函式一求出長整數所有之和,用函式二求出長整型數的逆序數。
#include <stdio.h> #include <stdlib.h> #define N 100 void func3() { char str[N]; int i,upper=0,lower=0,digi
編寫一段 JS 程式碼,求出一個整數的各個位數之和
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> </style
問題:求n以內的所有素數。要求給出自然語言描述的演算法,並且實現演算法。事先分析演算法的時間複雜度和空間複雜度。/*如果錯誤或相關改進的歡迎提出,謝謝!*/
/*2018.10.20上傳,該貼還有部分需要完善,比如2輸不出,還有許多可以優化的地方,未完,待更~~*/ #include <stdio.h> #include <math.h> #include <time.h> void pr
求100以內的所有素數 和 求前100個素數
求100以內的所有素數: int sum=0; for(int i=2;i<=10000000;i++){ int j; for(j=2;j<=Math.sqrt(i);j++){
python指令碼11_求10萬以內所有素數
#求10萬以內所有素數 num = int(input(">>>")) strs = '' for i in range(2,num): for c in range(2,int(i**0.5)+1): if i%c == 0: br
java 求1000以內的所有素數
判斷i是不是素數。首先,當i=1或者i=2時,i是素數,直接輸出。當i=3到i=1000,如果i被2到i-1的數整除,則i不是素數,不輸出。否則輸出。public class PrimeNumber { public static void main(String
執行程式如下:程式實現的是輸出不小於n的所有素數;10個一行
接著上一篇文章;執行程式如下 #include<stdio.h> #include<math.h> #include<stdlib.h> int prime(i
15,python實現----鍵盤錄入一個整數,求1到該數的所有素數的和
''' 鍵盤錄入一個整數,求1到該數的所有素數的和 ''' # 判斷素數函式 def is_num(num): for i in range(2, num): if num % i == 0: return 0
【C語言】輸入一個整數N,求N以內的素數之和
【C語言】輸入一個整數N,求N以內的素數之和 /* ============================================================================ Name
求小於等於N的所有正整數裡面包含的1的個數
題目: 已知一個正整數N,求比N小(包括N)的所有正整數中包含的1的個數。例如N = 12,則包含5個1,分別為1、10、11、12 解答: 最直觀最簡單的想法是,從1到N對每一個數檢查,得出每個數中包含的一的個數,事件複雜度大概是O(N)1時間複雜度比較高,不是最優演
求所有小於等於n的素數
設計一個程式,輸出所有小於等於n(n為一個大於2的正整數)的素數。 要求: 1、每行輸出10個素數 2、儘可能採用較優的演算法 #include <iostream
求兩個整數之間的所有素數
#include<stdio.h>int main(){ int a,b,i,j; int k; scanf("%d%d",&a,&b); for(i
c語言:實現對於給定的正整數N,依次打印出小於等於N的所有素數。兩種方法及其優化
請編寫一個程式,實現對於給定的正整數N,依次打印出小於等於N的所有素數。方法一:試除法由素數的定義得到如下程式:#include<stdio.h>int print_prime(int num)//prime表示素數{int i = 0;for (i = 2; i
求某個正整數範圍內的所有素數
import java.util.List; import java.util.Scanner; import java.util.ArrayList; public class Main{ public static void main(String[