填空题
[函数2.1说明]
求任意两个正整数的最大公约数的欧几里德算法。用辗转相除法求正整数m和n的最大公约数,并返回该公约数。
[函数2.1]
void func1(int m, int n) {
r=m% n;
while(r<>0) {
{{U}} (1) {{/U}};
n=r;
{{U}} (2) {{/U}};
}
return n;
}
[函数2.2说明]
判断101~200之间有多少个素数,并输出所有素数。用一个数分别去除2到sqrt (这个数),如果能被整除,则表明此数不是素数,反之是素数。
[函数2.2]
void func2 ( ) {
int m, i, k, h=0,leap=1;
printf ( "/n" );
for ( m=101;m<=200;m++ )
{{{U}} (3) {{/U}};
for (i=2;i<=k; i++ )
if({{U}} (4) {{/U}})
{leap=0;break;}
if ( leap )
{printf ( "%-4d",m );
{{U}} (5) {{/U}};
if ( h%10==0 )
printf ( "/n" );
}
leap=1;
}
printf ( "/n The total is %d", h );
}
【正确答案】
1、(1)m=n (2)r=m%n (3)k=sqrt(m+1) (4)m%i=0 (5)h++
【答案解析】