百元百鸡问题和歌德巴赫猜想

来源:互联网 发布:电子版邀请函制作软件 编辑:程序博客网 时间:2024/05/22 14:01
  1. /*
  2. //百元百鸡问题
  3. #include <stdio.h>
  4. int main(void)
  5. {
  6.     int i, j;                                   //公鸡和母鸡只数
  7.     int m, count;                               //小鸡花的钱 和 所有鸡总数
  8.     for(i =0 ; i <= 20; i++)                    //100元公鸡最多20只
  9.     {
  10.         for(j = 0; j <= 33; j++)                //100元母鸡最多33只
  11.         {
  12.             m = 100 - (i * 5) - (j * 3);        
  13.             count = m * 3 + i + j;
  14.             if(100 == count)                    总只数满100才合条件
  15.                 printf("%d %d %d /n", i, j, (100 - i - j));
  16.         }
  17.     }
  18.      
  19. }*/
  20. //歌德巴赫猜想 4-100
  21. #include <stdio.h>
  22. #include <math.h> 
  23. int main(void)
  24. {
  25.     int i, j, a, flag;                      //i是一个大数
  26.     
  27.     for(i = 4; i <= 100; i++)   
  28.     {
  29.         if(0 == (i % 2))                    //判断是否偶数
  30.         {
  31.             for(j = 2; j <= i/2; j++)       //确定拆数范围
  32.             {
  33.                 flag = 1;
  34.                 //判断是否是素数
  35.                 for(a = 2; a <= sqrt(j); a++)
  36.                 {
  37.                     if(0 == (j % a))
  38.                     {
  39.                         flag=0;
  40.                         break;
  41.                     }
  42.                 }
  43.                 //判断第二数是否是素数
  44.                 for(a = 2; a <= sqrt(i - j); a++)
  45.                 {
  46.                     if(0 == ((i-j) % a))
  47.                     {
  48.                         flag = 0;
  49.                         break;
  50.                     }
  51.                 }               
  52.                 if(1 == flag)
  53.                     printf("%d=%d+%d/n", i, j, (i-j));
  54.                 
  55.             }
  56.         }
  57.     }
  58. }
原创粉丝点击