CINTA-02

CINTA作业一

1、用C 语言编程实现判断输入为偶数的函数,即如果输入为偶数,返回True,否则 返回False。

bool is_even(int a){
if(a & 1)
return false;
else
return true;
}

3、用C 语言编程实现一种迭代版本的简单乘法。

int Navie_Mul(int a, int b){
if(a == 0 || b == 0)
return 0;
int tmp = a;
while(b > 0){
if(b % 2)
tmp += a;
a *= 2;
b /= 2;
}
return tmp;
}

4、证明:设\(a,b,c\in\mathbb{Z}\) ,如果\(a\ |\ b\)\(b\ |\ c\),则\(a\ |\ c\)。如果\(c\ |\ a\)\(c\ |\ b\),则对任意\(m,n\in\mathbb{Z}\),有 \(c\ |\ (ma + nb)\)


解:

先证明:设\(a,b,c\in\mathbb{Z}\),如果\(a\ |\ b\)\(b\ |\ c\),则\(a\ |\ c\)

\(b=ka\quad c=k^{'}b\quad k,k^{'}\in\mathbb{Z}\) \(\Rightarrow\) \(c=k^{'}ka\) 。可得\(a\ |\ c\)

再证:如果\(c\ |\ a,c\ |\ b\),则对任意\(m,n \in \mathbb{Z}\),有\(c\ |\ (ma + nb)\)

\(a=kc\quad b=k^{'}c\quad k,k^{'}\in\mathbb{Z}\) \(\Rightarrow\) \(ma+nb=mkc+nk^{'}c=(mk+nk^{'})c\)。可得\(c\ |\ (ma+nb)\)