求1-N之間所有的素數。
描述
輸出1-N之間所有的素數。
輸入
一個整數N。(2 <=N <= 10000)
輸出
1-N之間所有的素數,含N,為了便於觀察結果,在控制檯裡每行輸出5個數,並且這五個數之間以一個空格作為分隔。
#include <stdio.h>
int sushu(int n)
{
int k=0,m=0,i;
for(i=2;i<=n/2;i++)
{
k+=1;
if(n%i==0)
m+=0;
else
m+=1;
}
if(m==k)
return 1;
}
void main()
{
int i,n,m=0;
printf("請輸入一個整數n:\n");
scanf("%d",&n);
for(i=2;i<=n;i++)
if(sushu(i)==1)
{
printf("% d",i);
m=m+1;
if(m%5==0)
printf("\n");
}
}
相關推薦
求1-N之間所有的素數。
描述 輸出1-N之間所有的素數。 輸入 一個整數N。(2 <=N <= 10000) 輸出 1-N之間所有的素數,含N,為了便於觀察結果,在控制檯裡每行輸出5個數,並且這五個數之間以一個空格作為分隔。 #include <stdio
求1-N之間的素數
一、什麼是素數: 素數(prime number)又稱質數,有無限個。一個大於1的自然數,除了1和它本身外(因為1既不是素數,也不是合數),不能被其他自然數(質數)整除,換句話說就是該數除了1和它本身以外不再有其他的因數. 比如:2,3,5,
利用埃拉託斯特尼篩法求1-n之間的素數
定義: 素數又稱質數,素數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數。 方法: 採用埃拉託斯特尼篩法,每次消去2、3、4、5 、6 、、、、、、的倍數,直到沒有可消的為止,剩下的數字則為素數; 每次考慮消
求 1-10000之間所有的素數
這次我們學校的興趣實驗室納新,除了一個題,做了一下! 不知道還能不能繼續優化。 誰有更好的想法,在評論區留言! 寫的不好,莫怪! 第一次: #include <stdio.h> /
輸出1~N之間所有的素數
輸出1~N之間所有素數,含N,在控制檯裡每行輸出5個數,並且這五個數之間以一個空格作為分隔 對於1~N範圍內的數,進行整除,直至除到sqrt(N),不能整除的,則是質數 #include<stdio.h> #include<math.h&g
Eratosthenes篩法求1——100000之間所有的素數(32位組合語言)
include io32.inc .dataarray byte 100001 dup(30h) .codestart:mov esi,2 ;用來記錄某數,方便以後找所有可以被其整除的數xor edi
求 1~n 之間素數的個數
1. 篩選法 篩選掉偶數,然後比如對於 3,而言,篩選掉其整數倍數;(也即合數一定是某數的整數倍,比如 27 = 3*9) int n = 100000000; bool flag[
描述1-N之間所有的素數
題目: 輸出1-N之間所有的素數。 輸入: 一個整數N(2<=N<=10000) 輸出: 1-N之間所有的素數,含有N,為了便於觀察,在控制檯裡每行輸出5個數,並且這5個數之間以一個空格作為分隔。 想法: 1、關於判斷是不是素數,可以通
C語言:對長度為7的字符串,除首尾字符外,將其余5個字符按ASCII降序排序。-計算並輸出3~n之間所有素數的平方根之和。
file print font 素數 open stdio.h sca math while //對長度為7的字符串,除首尾字符外,將其余5個字符按ASCII降序排序。 1 #include <stdio.h> 2 #include <ctyp
模板(線性時間求1~n的所有歐拉函數值)
namespace 別人 mat 假設 name www tle http scan 定理: (以下p均為質數) 1. φ(p)=p-1 3. 如果 i mod p ≠ 0 那麽 φ(i*p)=φ(i)*φ(p) 2. 如果
C語言:完美數,求1-n之間的
輸入n,求1-n之間的完美數 完全數(Perfect number),又稱完美數或完備數,是一些特殊的自然數。如果一個數恰好等於它所有的因子之和,則稱該數為“完全數”。具體完美數定義請見完美數-百度百科 #include "stdio.h" void main() { int
ACMNO.17C語言-篩法求素數 用篩法求之N內的素數。
題目描述 用篩法求之N內的素數。 輸入 N 輸出 0~N的素數 樣例輸入 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 提示
Eratosthenes篩選法求小於N的所有素數個數
求出1~N範圍中所有的素數,在leetcode中做過這個題目,我想從對每個1~N進行一次遍歷,每個數判斷一次是否是素數。 判斷一個數是否是素數的複雜度本身也是挺高的,再進行一次迭代,在leetcode中的結果是超時: class Solution { p
輸出1~n之間的素數
#include <stdio.h> void swap(int i,int j,int n) { for(i=1;i<=n;i++) { for(j=2;j<i;j++) if(i%j==0) break; if(i
求1~100之間所有的質數
//方法一 for(var i = 2;i < 100;i++){var count = 0;for(var j = 1;j <= i; j++){if(i%j == 0){count++
用篩法求之N內的素數。
-----------------------------------------------第一次,失敗--------------------------------------- #include<stdio.h> int isprime(int n);
高效率求1~10000之間的素數(初級)
①偶數除了二都不是素數, ②一個數 n 如果是合數,那麼它的所有的因子不超過sqrt(n)--n的開方 #include<stdio.h> #include<math.h> main() { int i,j,n=10000; printf("2
c語言:實現對於給定的正整數N,依次打印出小於等於N的所有素數。兩種方法及其優化
請編寫一個程式,實現對於給定的正整數N,依次打印出小於等於N的所有素數。方法一:試除法由素數的定義得到如下程式:#include<stdio.h>int print_prime(int num)//prime表示素數{int i = 0;for (i = 2; i
輸入一個數n,輸出1-n間所有素數,要求每行顯示5個數
#include <stdio.h> int main() { int i,j,n,m=0; printf("請輸入一個數"); scanf("%d",&n); for(i=2;i<=n;i++) { for(j=2;j<
素數篩法篩選1~N之間的素數(高效)
#include using namespace std; #define Max 1024 int main() { int n; int arr[Max]; while(~scanf("%d",&n)) { for(int i = 1; i &