信息学奥赛一本通 2024:【例4.10】末两位数

news/2024/12/12 3:47:24/

【题目链接】

ybt 2024:【例4.10】末两位数

【题目考点】

1. 同余定理

根据同余定理,有:
( a ∗ b ) % m = ( a % m ∗ b % m ) % m (a*b)\%m = (a\%m * b\%m)\%m (ab)%m=(a%mb%m)%m

2. 幂取模

a b % m = ( a b − 1 ⋅ a ) % m = ( a b − 1 % m ⋅ a % m ) % m \begin{aligned} a^b\%m &= (a^{b-1} \cdot a) \% m \\ &= (a^{b-1}\%m \cdot a \%m)\%m \end{aligned} ab%m=(ab1a)%m=(ab1%ma%m)%m
这就是求 a b % m a^b \%m ab%m的递推公式
其中b = 1时 a b % m = a % m a^b\%m = a \%m ab%m=a%m

【解题思路】

本题要求的是幂的末两位数,即为幂的值模100。根据幂取模的递推公式,若要求 a b % m a^b\%m ab%m,可以有以下三种解法。

1. 递推

设v[i]表示 a b % m a^b \% m ab%m
有:
v[i] = (v[i-1] * a%m) %m;
v[1] = a % m;

2. 迭代

迭代法思路与递推相似,只不过不用数组,只用变量。每次求出的值都赋值给变量s。
初始值:s = a % m;
循环中:s = (s * (a % m)) % m;

3. 递归

函数设为:
int solve(int b); a b % m a^b \% m ab%m的值
要求该值,需要先求 a b − 1 % m a^{b-1}\% m ab1%m的值,代入公式 a b % m = ( a b − 1 % m ⋅ a % m ) % m a^b\%m = (a^{b-1}\%m \cdot a \%m)\%m ab%m=(ab1%ma%m)%m

【题解代码】

解法1:迭代

#include<bits/stdc++.h>
using namespace std;
int main()
{int n, res = 1;cin >> n;for(int i = 1; i <= n; ++i)res = (res * 1992) % 100;cout << res;return 0;
}

解法2:递推

#include<bits/stdc++.h>
using namespace std;
int main()
{int n, v[2005];//v[i]表示1992^i的末两位cin >> n;v[1] = 1992 % 100;for(int i = 2; i <= n; ++i)v[i] = v[i-1] * 1992 % 100;cout << v[n];return 0;
}

解法3:递归

#include<bits/stdc++.h>
using namespace std;
int solve(int i)//求1992^i的末两位
{if(i == 1)return 92;elsereturn solve(i-1) * 1992 % 100;
}
int main()
{int n;cin >> n;cout << solve(n);return 0;
}

http://www.ppmy.cn/news/883516.html

相关文章

信息学奥赛一本通(2024:【例4.10】末两位数)

2024&#xff1a;【例4.10】末两位数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 1078 通过数: 584 【题目描述】 求nn个19921992的乘积的末两位数是多少&#xff1f; 【输入】 输入nn。 【输出】 如题述的末两位数。 【输入样例】 3 【输出样例】 88 【提…

信息学奥赛一本通:1089:数字反转

【题目描述】 给定一个整数&#xff0c;请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式&#xff0c;即除非给定的原数为零&#xff0c;否则反转后得到的新数的最高位数字不应为零&#xff0c;例如输入−380&#xff0c;反转后得到的新数为−83。 【输入】 …

信息学奥赛一本通——解题目录

慢慢更新中 【声明】讲解全是我自己的博客 【第一章 C语言入门】 1000&#xff1a;入门测试题目 信息学奥赛一本通——1000&#xff1a;入门测试题目_c小蒟蒻的博客-CSDN博客 2060&#xff1a;【例1.1】计算机输出 信息学奥赛一本通——2060&#xff1a;【例1.1】计…

北语、北外2022年12月公派英语统考的通知

近日&#xff0c;北语和北外均发布了12月29日国家公派英语高级班结业统考的通知。与以往不同的是&#xff1a;为无法参加12月29日统考的学员增加一次考试机会&#xff0c;时间定于2023年2月25日&#xff0c;但需要提前报名。具体报名时间及方式参见两校的通知&#xff0c;知识人…

信息学奥赛一本通:2024:【例4.10】末两位数

2024&#xff1a;【例4.10】末两位数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 20235 通过数: 11679 【题目描述】 求n个1992的乘积的末两位数是多少&#xff1f; 【输入】 输入n。 【输出】 如题述的末两位数。 【输入样例】 3 【输出样例】 88 【提示】 …

人大、北外、北航三校开启在职硕士(学位)商业数据分析方向 | 报名

2019年&#xff0c;我们再次携手世界一流学科名校中国人民大学&#xff0c;同时新增“985/211”高校-北京航空航天大学、北京外国语大学&#xff0c;继续为大家带来技能与学位双提升的在职研究生项目。大数据、人工智能、商业数据分析等多个互联网方向可供选择。 在校期间&…

【虚拟人快讯】数字人Miya首登北外滩巨幕,数字人走进养老服务行业

1、元宇宙首位贝斯手米娅Miya以全新身份再次亮相&#xff0c;空降北外滩vivo巨屏&#xff0c;携手源自英国伦敦的高级香氛品牌MILLER HARRIS&#xff0c;化身莓果缪斯&#xff0c;这个不被定义的&#xff0c;集酷飒和甜美于一身的00后cool girl&#xff0c;在炎炎夏日&#xff…

深圳世侨华盟到访国促会数外委 共话数字未来

2022年9月20日上午&#xff0c;深圳世侨华盟执行主席李蓬青率世侨华盟秘书处常务副主任杜元鹏、产业服务副主任张辉腾、金融服务副主任高忠华一行到访中国国际经济技术合作促进会数字经济技术对外合作工作委员会&#xff08;以下简称&#xff1a;国促会数外委&#xff09;深圳办…