驗證哥德巴赫猜想:任何一個大於6的偶數均可表示爲2個素數之和

  • 驗證哥德巴赫猜想:任何一個大於6的偶數均可表示爲2個素數之和。例如6=3+3,8=3+5,…,18=5+13。將6~100之間的偶數都表示成2個素數之和,打印時一行打印5組。素數就是隻能被1和自身整除的正整數,最小的素數是2。要求定義並調用函數prime(m)判斷m是否爲素數,當m爲素數時返回1,否則返回0。
  • 【輸入形式】無輸入
  • 【輸出形式】按從小到大、每組五行。每組的格式爲:%4d=%2d+%2d。等號和加號兩側無空格。
  • 程序
     

    #include <stdio.h>
    int prime(int m);
    int main()
    {
        int i,j,k,count=0;
        for(i=6;i<=100;i+=2) // 輪詢100以內的偶數 
        {      
    	for(j=3;j<=i/2;j++)  //這個自己理解一下 想想爲什麼除以2 
    	{      
                if(prime(j)&&prime(i-j))// (j)  (i-j) 加起來正好是 原始值 
                {
                    printf("%4d=%2d+%2d",i,j,i-j);
                	count++;
                	if(count==5) //格式輸出 
                	{
                    	printf("\n");
                    	count=0;
                	}
                	break;
                }   
    	}       
        }
        return 0;
    }
    
    int prime(int m)//輪詢是不是爲素數 
    {
        int i;
        for(i=2;i<=m-1;i++)//從2 輪詢到其本身減一 
         {
      	if(m%i==0) 
    	return 0;// %求餘 求餘爲0 說明整除 
         }
        return 1; //素數返回值爲1 
    }

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章