啊哈磊_编程从这里起步

标题: 啊哈磊表示你编的书啊哈C 121页那里a的范围是2~k/2那个地方不懂.. [打印本页]

作者: qianhao    时间: 2014-9-13 21:13
标题: 啊哈磊表示你编的书啊哈C 121页那里a的范围是2~k/2那个地方不懂..
啊哈磊表示你编的书啊哈C 121页那里a的范围是2~k/2那个地方不懂..
求解
表示想不明白
查百度都没效果
真心不懂
求大神详解

作者: 4399APPLE    时间: 2014-9-13 21:28

作者: 4399APPLE    时间: 2014-9-13 21:40
就是2到k÷2啊
作者: 4399APPLE    时间: 2014-9-14 09:10
因为如果是k的话,就会多出许多次循环,浪费时间。当然你写k也是可以的
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. int main()
  5. {
  6.         int k, a, b, i, fa, fb;
  7.     for(k = 4;k < 101;k += 2)
  8.                 for(a = 2;a <= k;a ++)
  9.         {
  10.                         fa = 0;
  11.             for(i = 2;i <= a - 1;i ++)
  12.                                 if(a % i == 0)
  13.                 {
  14.                                         fa = 1;
  15.                     break;
  16.                 }
  17.             if(!(fa))
  18.             {
  19.                                 b = k - a;
  20.                
  21.                 fb = 0;
  22.                 for(i = 2;i <= b - 1;i ++)
  23.                                         if(b % i == 0)
  24.                                         {
  25.                                                 fb = 1;
  26.                         break;
  27.                     }
  28.                 if(!(fb))
  29.                 {
  30.                                         printf("%d = %d + %d\n", k, a, b);
  31.                     break;
  32.                 }
  33.             }
  34.         }
  35.         system("pause");
  36.     return 0;
  37. }
复制代码

作者: 4399APPLE    时间: 2014-9-14 09:11
另外如果你要回复,不要用点评功能,一来没法回复你,二来收不到提醒
作者: rosynirvana    时间: 2014-9-14 10:32
质数试除?这不显然的吗
作者: qianhao    时间: 2014-9-14 12:16
4399APPLE 发表于 2014-9-14 09:10
因为如果是k的话,就会多出许多次循环,浪费时间。当然你写k也是可以的

好像又有点懂,其中一半肯定不会大于k/2的范围内,先求小的那部分,大的部分肯定是相对应的,迟早会出来0.0
作者: 4399APPLE    时间: 2014-9-14 13:22
qianhao 发表于 2014-9-14 12:16
好像又有点懂,其中一半肯定不会大于k/2的范围内,先求小的那部分,大的部分肯定是相对应的,迟早会出来0 ...

当然了,因为你k*(k/2+1)肯定超过了k




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2