博客园第二次作业

1.目前薄弱的点是对于数组和指针不够熟悉,获取知识点的途径暂时只有课堂上老师讲解和从课本获取,薄弱的点比如:分不清什么时候是*p 什么时候单纯p就好。

2.7-3 (1).7-3 验证“哥德巴赫猜想”输入在一行中给出一个(2, 2 000 000 000]范围内的偶数N。在一行中按照格式“N = p + q”输出N的素数分解,其中p ≤ q均为素数。又因为这样的分解不唯一(例如24还可以分解为7+17),要求必须输出所有解中p最小的解。

(2).解题思路:从2开始不断加1直到找到素数,然后由偶数N减去这个素数,检验得出的那个数是否为素数

(3).  先编写一个函数用于检验素数

bool prim(int a)
{
 int i,k;
 k=(int)sqrt(a);
 for(i=2;i<=k;i++)
 if(a%i==0)
 return 0;
 return 1;
}

然后主函数输入N,先从2开始找素数,找到后用N减去它,得到的那个素数再调用prim函数,若两个数都是素数即满足题意

for (a=2;a<=m/2;a++)
 if(prim(a))
 {
  b=m-a;
  if(prim(b))
  {
   cout<<m<<" "<<"="<<" "<<a<<" "<<"+"<<" "<<b<<endl;
   break;

  }

(4).核心技术总结:寻找素数找出最小的素数

(5).一开始不知道怎么找出最小的素数,想了很久,最后才发现从2开始+1,找到的那个数就是最小的数

 

posted @ 2018-12-09 16:44  Lc-小川  阅读(498)  评论(0编辑  收藏  举报