博客园第二次作业
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,找到的那个数就是最小的数