1. 程式人生 > >C語言 判斷一個數是不是素數(用函式表示)

C語言 判斷一個數是不是素數(用函式表示)

# include <stdio.h>

int f(int n)  //定義函式f

{

    int i;
    int sum=0;
    if(n!=2)    
    {
        for(i=2;i<n;i++)
     {
        if(n%i==0)
           {
               sum=0;
               break;
           }
        if(n%i!=0)
            sum=1;
     }
    }
    if(n==2)    
        sum=1;
    return sum;
}

int main ()
{

    int n;
    scanf("%d",&n);
    if(f(n)==1)
    printf("yes");
    else
        printf("no");
    return 0; }

相關推薦

C語言 判斷個數素數函式表示

# include <stdio.h> int f(int n)  //定義函式f {     int i;     int sum=0;     if(n!=2)         {  

C語言判斷個數是否為素數

所謂素數,是指除了1和本身之外,不能被其他任何整數整除的數。 判斷一個數n(n>=3)的方法:將n作為被除數,將2到(n-1)各個整數先後做除數,如果都不能被整除,則n為素數。 演算法分析: S1:輸入n的值 S2:i=2(i作為除數) S3:n被i除,得餘數r,r=

C語言-----如何用C語言判斷個數是整數

  如果用實型變數x接收一個數或通過計算得到一個數後要知道它是不是整數,沒有很好的辦法.因為實數在計算機中不能準確的儲存,所以不能直接判斷兩個實型量是否相等,(實型和整形是不能直接比較的,要做一步型別

c語言==判斷個數是否為2的整數次方【使用迴圈】

對於判斷一個數是否為2的N次方問題,通常想到的最為直接的辦法就是對這個數不斷對2取餘,為0就將該數變為該數除以2,直到最後該數為1為止。 void judge(int n) { while(!(n % 2)) { n = n

C語言判斷個數是偶數還是奇數

/** *如果一個數能被2整除且餘數為0 返回1 佛則返回 0 */ int isOuShu(int i) { if(i%2==0) return 1; else return 0; } void main() { int a;

c語言實現10個數由小到大排序選擇排序法

選擇排序:第i趟排序中找出i+1個元素後一個最小的元素,與i位置元素進行交換,直到i=n-2;每一趟排序就是從序列中未排好序的元素中選擇一個最小的元素,將該元素與這些未排好順序的元素的第一個元素進行交換。 #include<stdio.h> vo

C語言例項—個數如果恰好等於它的因子之和,這個數就稱為完數。gcc編譯

1.題目 一個數如果恰好等於它的因子之和,這個數就稱為完數。例如,6的因子是1,2,3,而6=1+2+3,因此6為完數。程式設計序找出1000之內所有的完數,並按下列格式輸出其因子:6 its factors are 1,2,3 2.程式碼 #include<stdio.h

C++之判斷個數是否為素數

#include <iostream> #include "math.h" using namespace std; bool isPrimeNumber(int number) { //判斷是否為素數 float sqrtOfNum = sqrt(number);

C/C++】判斷個數是閏年

生活中,我們都知道如何判斷某一年是不是閏年 我們都知道,能被4整除並且不能被100整除的是閏年 能被400整除的也是閏年 根據演算法,我們寫出下面程式 #define _CRT_SECURE_N

【原始碼】將一個整數的每位數分解並按逆序放入個數組中遞迴演算法(C語言實現)

幫朋友做的,好像是一個面試題。如果僅僅是考察遞迴的話,應該是夠了,程式的健壯性和通用性都很一般的說…… #include <stdio.h> #include <stdlib.h&g

c語言個數組中的奇數和偶數分開放在一起

       在一個數組中的元素大多奇數和偶數是混在一起的,而將陣列中元素奇數和偶數分開存放則是我們要解決的問題。        將奇數和偶數分開存放然後打印出來的思路是先建立兩個空間,將奇數和偶數分別存放起來,然後

C語言獲取個數二進位制所有偶數位和奇數位分別輸出二進位制序列

獲取一個數二進位制中所有偶數位和奇數位; //#include<stdio.h> //#include<stdlib.h> //二進位制數的奇數位和偶數位的輸出;right; //int main() //{ // int

C語言個數組,實現類似JAVA語言中ArrayList的功能

此程式是在看過郝斌老師的資料結構與演算法的視訊後,自己用C語言實現的。整個程式比較簡單,適合入門資料結構時練手。 #include <stdio.h> #include <stdlib.h> #include <malloc.h> #

C語言個數組中只有兩個數字是出現次,其他所有數字都出現了兩次。 找出這兩個數字,程式設計實現。

一看到這道題,我想到了之前學習過的異或。我們知道兩個相同的數字異或的結果是 0,因為在計算機中,異或運算是按照二進位制位來運算的,相同為 0 ,相異為  1。任何數與 0 異或都等於它自己。既然我們要找出來一組數中不同的兩個數字,也可以採用這種方法。 但是這次不是直接異或,

PAT 1007. 素數對猜想 (20);判斷個數素數;java實現

1007. 素數對猜想 (20) 時間限制 400 ms 記憶體限制 65536 kB 程式碼長度限制 8000 B 判題程式 Standard 作者 CHEN

c語言實現 個數二進位制位從左到右的翻轉

編寫函式 unsigned int  reverse_bit(unsigned int value); 這個函式的返回值 value的二進位制位模式從左到右翻轉後的值。 如在32位機器上25這個值包含下列各位: 000000000000000000000000000110

C語言個數組中只有兩個數字是出現次,其他所有數字都出現了兩次。 找出這兩個數字。

要求:一個數組中只有兩個數字是出現一次,其他所有數字都出現了兩次。 找出這兩個數字,程式設計實現。程式設計實現。 程式碼如下 int find(int arr[],int len) { int i,j,count; for(i = 0;i

C++ 如何判斷個數為迴文數

如果一個數從左邊讀和從右邊讀都是同一個數, 就稱為迴文數 解答: 思想最簡單的方法就是模擬,把各個數位取出來,然後比較。當然這種方法比較麻煩。 我們這次要用的方法如下:既然是迴文數,那我們把各個數位上的數 正著 加起來跟 逆著 加起來的 和 是一樣的。運用這條性質我們就可以很

c語言個數組裡面的部分值直接複製到另外個數

標頭檔案是#include <string.h>,如果要從陣列a複製k個元素到陣列b,可以這樣做memcpy(b,a,sizeof(int)*k);#include <stdio.h> #i

C語言計算個數每個位的數值

一個位元組中的數字,轉換為3個元素的陣列。 除錯成功。 void Des_HexToArray(u8 Hex,u8 *pu8Array) { u8 i; for(i=0;i<3