#include<iostream> using namespace std; int mul(int a, int b) { int t = 0; int result = 0; if (b == 0) return 0; else { while (b) { if (b & 1) //b的二进制末尾为0 result += (a << t);//跳过不加 t++; b = (b >> 1); } } return result; } int main() { int a, b; cout << "请输入a,b的值:" << endl; cin >> a >> b; cout << "a=" << a << ",b=" << b << endl; cout << "乘积为:" << mul(a, b) << endl; return 0; }
//写程序完成以下函数的功能。输入:一个正整数n 输出:大于等于n,且于n互为素数的正整数的个数。 #include<iostream> using namespace std; int gcd(int a, int b) { if (b == 0) return a; else return gcd(b, a % b); } int main() { int n, j = 0; cout << "请输入n的值" << endl; cin >> n; for (int i = n; i >=1; i--) { if (gcd(n, i - 1) == 1) j++; } cout << "与"<<n<<"互为素数的个数:"<<j << endl; }
4.第二章的第六题
\[
假设g^a\equiv1(mod \quad m)且g^b\equiv1(mod \quad
m),请证明g^{gcd(a,b)}\equiv1(mod \quad m).
\]