2)充分性

  当n=7时,n可以分解成2+5或3+4

  显然2+5不符合题意,舍去,容易判断出3+4符合题意,m=12,证毕

  于是得到n=7 m=12 n1=3 n2=4是解。第六题:7只(数学归纳法证明)

  1)若只有1只病狗,因为病狗主人看不到有其他病狗,必然会知道自己的狗是病狗(前提是一定存在病狗),所以他会在第把病狗处决。

  2)设有k只病狗的话,会在第k天被处决,那么,如果有k+1只,病狗的主人只会看到k只病狗,而第k天没有人处决病狗,病狗主人会在第k+1天知道自己的狗是病狗,于是病狗在第k+1天被处决

  3)由1)2)得,若有n只病狗,必然在第n天被处决

  第七题:(提示:可用图论方法解决)

  BONO&EDGE过(2分),BONO将手电带回(1分),ADAM&LARRY过(10分),EDGE将手电带回(2分),BONO&EDGE过(2分) 2+1+10+2+2=17分钟

  第八题:

  约定好一个人作为报告人(可以是第一个放风的人)

  规则如下:

  1、报告人放风的时候开灯并数开灯次数

  2、其他人第一次遇到开着灯放风时,将灯关闭

  3、当报告人第100次开灯的时候,去向监狱长报告,要求监狱长放人......

  按照概率大约30年后(10000天)他们可以被释放

  第五组无标准答案

  第六组部分题参考答案:

  4.

char * strcpy(char * pstrDest,const char * pstrSource)
{
assert((pstrDest!=NULL)&&(pstrSource!=NULL));
char * pstr=pstrDest;
while((*(pstrDest++)=*(pstrSource++))!= ' ');
return pstr;
}

 

  5.

char * strrev(char * pstr)
{
assert(pstr!=NULL);

char * p=pstr;
char * pret=pstr;
while(*(p++)!= ' ');
p--;
char tmp;
while(p> pstr)
{
tmp=*p;
*(p--)=*(pstr);
*(pstr++)=tmp;
}
return pret;