1.我薄弱的知识点还有:函数的调用(特别是函数的递归调用)、 函数参数、 函数重载 、 程序的多文件组织 、 数组的应用等等,这些都是知识薄弱的地方。
1.)函数的调用——薄弱处在于函数名的定义、调用等的书写格式不太清楚。
2.)函数参数——懂得知识,但总不能灵活应用,涉及这部分内容,就总容易乱。
3.)函数重载——知识盲区,这部分内容到现在仍不太了解。
4.)程序的多文件组织——因作业没有应用过这部分内容,所以到现在仍不是很了解如何将多个文件组织起来。
5.)数组的应用——这部分内容我觉得学起来吃力,是一个难点,特别在字符串那部分。
2.题目
7-3 验证“哥德巴赫猜想” (10 分)
数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。
#include
#include
using namespace std;
long prime( long x) //验证某个数是否为素数的函数,若为素数,返回真,否则,返回假。
{
long t,i=2;
t=sqrt(x);
for( ;i<=t; ) //X去除以1到根号下X的数,若出现除尽的情况,则不为素数。
{if(x%i==0) return false;
else i=i+1;}
return true;
}
int main()
{
long N,a,b;
cin>>N;
a=2;
b=N-a; //输入的数N分解为另外两个数a,b.
do
{if (prime(a)&&prime(b)) //若a且b均可以为素数,则输出"N=a+b";
{cout<
while(a<=b);
return 0;
}
(1)题目大意:验证任何一个大于2的偶数总能表示为两个素数之和。
(2)解题思路:如上。