1,用c++编程实现判断输入为偶数的函数,即如果输入为偶数,则返回True否则返回False
int fun(int a)
{
if((a%2)==0)//偶数
return ture;
else
return false;//奇数
}
2,给定一个整数V,如何判断V是否为2的某次方,比如,v=4=2^2,返回true;v=9=2^3+1并非2的次方,返回false,请写一个c语言的函数来实现以上功能
注:算法的核心思路在于对整除和最后结果是否为1进行判断;
int fun(int n)
{
while(n)
{
if(n % 2) return 0;//余数不为0返回错误
n /= 2; // n = n / 2,整除
if(n == 1) return 1;
}
return 0;
}
3用c语言编程实现一种迭代算法的简单乘法
int add (int a,int b)
{
int sum=0;//记录结果
if(b==0)
return 0;
else
{
for(int i=0;i<b,i++)
{
sum+=a;
}//设置循环实现迭代
}
return sum;//返回结果
}
4证明命题1.1,即证明设a,b,c∈Z,如果a|b,b|c,则a|c,如果c|a,c|b,则对于任意m,n∈Z,有c|(ma+nb).
证明:
(1)假设a,b,c∈Z,如果a|b,b|c,由除法算法得
存在k1,k2∈Z,且0<k;
使得
b=k1 *a;
c=k2*b;
∴c=k2*b=k2*k1*a;
∴a整除c,即a|c;
(2)如果c|a,c|b,
由(1)同理得
a=k1*c;
b=k2*c;
ma+mb=m*k1*c+m*k2*c;=(m*k1+n*k2)*c
∴c整除ma+mb