栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

CINTA作业3

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CINTA作业3

#include 
using namespace std;

int x(int a,int b){
    int n;
    if (a != 0 && b != 0) {
        do {
            n = a % b;
            a = b;
            b = n;
        } while (n);
        return a;
    }
    else
        return -1;
    return 0;
}

int M(int a, int b) {
    int t;
    if (x(a, b) == 0&&x(a,b)==-1)
    {
        cout << "无解" << endl;
        return -1;
    }
    else
    {
        t = 1;
        while ((a * t) % b != 1)
            t++;
            return t;
    }
}
int main() {
    int a, m;
    cin >> a >> m;
    int x = M(a, m);
    cout << x;
}

2.

int mozhishu(int x, int y, int n) {
    int a = 1;
    if (y == 0)
        return 1;
        for (; y > 0; y /= 2)
        {
            a = (a * x) % n;
            x = (x * x) % n;
        }
        return a;
}

int main() {
    int x, y, m;
    cin >> x >> y >> m;
    x = mozhishu(x, y, m);
    cout << x;
    return 0;
}

3.设p = 23和a = 5,使用费尔马小定理计算a^{2020} mod p?

2020=22*91+18,又5^22mod23=1。则5^2020mod23=5^18mod23=6

4.使用欧拉定理计算2^{100000} mod 55

φ(55)=40,即2^40mod55=1.2^100000mod55=2^40*2500mod55=1

5.手动计算7^{1000}的最后两个数位等于什么?

7^1=7 7^2=49 7^3=343 7^4=2401 7^5=16807 7^6=117649 7^7=823543 7^8=5,764,801 可见,七的n次方的后两位数分别为07/49/43/01顺序循环 7^1000次方,1000/4为250,没有余数,因此7^1000次方后两位数为01

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/312142.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号