末两位数(1992)_题解

【题解提供者】吴立强

解法

思路

指数函数增长速率过快,直接计算中间过程任何一种基本类型都无法存储。

通过乘法运算的规律,可以发现末两位数只和末两位数相关,故直接对中间结果保留末两位数(mod 100)即可避免乘法溢出。

代码

#include <iostream>
using namespace std;const int mod = 100;int main() {int n;  cin >> n;int ans = 1;while(n --) ans = (ans * 92) % mod;cout << ans;return 0;
}

算法分析

本算法的时间复杂度为 O ( n ) O(n) O(n)

拓展

实际上对于任意的 ( a × b ) m o d p (a\times b)\mod p (a×b)modp 的求解都可以转化为: ( ( a m o d p ) × ( b m o d p ) ) m o d p ((a\mod p)\times (b\mod p))\mod p ((amodp)×(bmodp))modp
a a a 可以看做是 a = k 1 × p + ( a m o d p ) a = k_1\times p + (a\mod p) a=k1×p+(amodp)
b b b 可以看做是 b = k 2 × p + ( b m o d p ) b = k_2\times p + (b \mod p) b=k2×p+(bmodp)
那么有:
( a × b ) m o d p (a\times b)\mod p (a×b)modp
= ( ( k 1 × p + ( a m o d p ) ) × ( k 2 × p + ( b m o d p ) ) ) m o d p =((k_1\times p + (a\mod p)) \times (k_2\times p + (b \mod p)))\mod p =((k1×p+(amodp))×(k2×p+(bmodp)))modp
= ( ( k 1 × k 2 + k 1 × ( b m o d p ) + k 2 × ( a m o d p ) ) × p + ( a m o d p ) × ( b m o d p ) ) m o d p =((k_1\times k_2+ k_1\times(b\mod p)+ k_2\times(a \mod p))\times p + (a\mod p)\times (b\mod p))\mod p =((k1×k2+k1×(bmodp)+k2×(amodp))×p+(amodp)×(bmodp))modp
= ( ( a m o d p ) × ( b m o d p ) ) m o d p =((a\mod p)\times (b\mod p))\mod p =((amodp)×(bmodp))modp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/681055.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日五道java面试题之java基础篇(七)

第一题. HashMap和HashTable有什么区别&#xff1f;其底层实现是什么&#xff1f; 区别 &#xff1a; HashMap⽅法没有synchronized修饰&#xff0c;线程⾮安全&#xff0c;HashTable线程安全&#xff1b;HashMap允许key和value为null&#xff0c;⽽HashTable不允许 底层实现…

容器高级知识: 适配器模式与 Sidecar 模式的区别

适配器模式与 Sidecar 模式的区别 在 Kubernetes 中&#xff0c;适配器模式和 Sidecar 模式都是扩展您的主应用程序容器功能的方法&#xff0c;但它们具有不同的目的和功能&#xff1a; Sidecar 模式&#xff1a; 通用目的&#xff1a; 为主应用程序提供 补充功能&#xff0…

(十五)springboot实战——spring securtity的核心过滤器介绍

前言 本节内容主要介绍spring securtity安全框架的一些核心过滤器及其作用&#xff0c;我们都清楚spring securtity安全框架底层是基于filter过滤器实现的&#xff0c;采用的是责任链的设计模式&#xff0c;它有一条很长的过滤器链。本次spring securtity原理介绍使用的版本是…

H12-821_31

31.下面是一台路由器的部分配置,关于该配置描述正确的是: A.源地址为1.1.1.1的数据包匹配第一条ACL语句rule 0,匹配规则为允许 B.源地址为1.1.1.3的数据包匹配第三条ACL语句rule 2,匹配规则为拒绝 C.源地址为1.1.1.4的数据包匹配第四条ACL语句rule 3,匹配规则为允许 D.源地址为…

Android13多媒体框架概览

Android13多媒体框架概览 Android 多媒体框架 Android 多媒体框架旨在为 Java 服务提供可靠的接口。它是一个系统&#xff0c;包括多媒体应用程序、框架、OpenCore 引擎、音频/视频/输入的硬件设备&#xff0c;输出设备以及一些核心动态库&#xff0c;比如 libmedia、libmedi…

探索Gorm - Golang流行的数据库ORM框架

&#x1f3f7;️个人主页&#xff1a;鼠鼠我捏&#xff0c;要死了捏的主页 &#x1f3f7;️系列专栏&#xff1a;Golang全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&…

14.7 OpenGL图元装配和光栅化:早期各片段测试

早期各片段测试 Early Per-Fragment Tests layout(early_fragment_tests) in; 如果片段着色器指定了 Early_fragment_tests 布局限定符&#xff0c;则将在片段着色器执行之前执行本节中描述的每个片段测试。 否则&#xff0c;它们将在片段着色器执行后执行。在光栅化阶段生成片…

自动化测试工具

自动化测试工具有很多种&#xff0c;比如&#xff1a; Appium 。Appium是一个移动端自动化测试开源工具&#xff0c;支持iOS和Android平台&#xff0c;支持Python、Java等语言&#xff0c;即同一套Java或Python脚本可以同时运行在iOS和Android平台。 Appium是一个开源测试自动…

8个Python编程进阶常用技巧!

前言 介绍 Python 炫酷功能&#xff08;例如&#xff0c;变量解包&#xff0c;偏函数&#xff0c;枚举可迭代对象等&#xff09;的文章层出不穷。但是还有很多 Python 的编程小技巧鲜被提及。因此&#xff0c;本文会试着介绍一些其它文章没有提到的小技巧&#xff0c;这些小技…

多态

多态的基本语法 多态分为两类 静态多态: 函数重载 和 运算符重载属于静态多态&#xff0c;复用函数名动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别&#xff1a; 静态多态的函数地址早绑定 - 编译阶段确定函数地址动态多态的函数地址晚绑定 - 运行阶段确…

中科大计网学习记录笔记(十):P2P 应用

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…

Centos7离线安装MySQL5.7

卸载mariadb rpm -e --nodeps mariadb-libs可以使用rpm -qa|grep mariadb命令检测是否卸载完成。 关闭selinux 将/etc/selinux/config文件中的SELINUX设置为disabled下载MySql的相关rpm包 打开https://dev.mysql.com/downloads/mysql/ 选择Red Hat Enterprise Linux / Oracle L…

Linux 终端入门

简介 这个教程是 Linux 基础知识系列中的第一篇&#xff0c;涵盖了如何开始使用终端、Linux 命令行以及执行命令。如果你是 Linux 新手&#xff0c;你需要熟悉终端&#xff0c;因为它是与 Linux 服务器交互的标准方式。 这个教程是针对 Ubuntu 22.04 服务器编写的&#xff0c…

离散数学截图

二元运算及其性质 二元运算中的特殊元 半群和独异点 代数系统的同态与同构 下确界是最大的下界&#xff0c;而在4、5、6三个下界里面&#xff0c;4和5都比6大。可4和5之间没办法分出大小&#xff0c;所以这个哈斯图没有下确界

操作系统面试问题——说一下什么是零拷贝?

零拷贝是一种IO操作优化技术&#xff0c;主要用于减少CPU在用户态和内核态之间的上下文切换次数以及减少数据拷贝次数&#xff0c;可以显著提高数据传输的效率。 传统的拷贝方式需要频繁的切换状态&#xff0c;读数据时需要将数据从硬盘加载到内核缓冲区&#xff0c;再从内核缓…

Git、github与gitee码云

1.git核心是两个仓库&#xff1a;本地仓库和远程仓库 主要用于团队合作和代码版本控制&#xff08;个人现有版本代码出错可回溯上个提交版本的代码&#xff09; 远程仓库国际主流githut&#xff0c;但外网速度问题&#xff0c;国内可使用码云gitee github&#xff1a;https:…

Ping的过程详解

Ping是一种常用的网络工具&#xff0c;用于测试与目标主机之间的网络连接和延迟。下面是Ping的基本过程&#xff1a; 发送ICMP Echo请求&#xff1a; 发起Ping操作的主机&#xff08;通常是客户端&#xff09;会构建一个ICMP Echo请求报文&#xff0c;将其发送给目标主机&…

腾讯云4核8G12M轻量应用服务器性能够用吗?支持多少人?

腾讯云轻量4核8G12M轻量应用服务器支持多少人同时在线&#xff1f;通用型-4核8G-180G-2000G&#xff0c;2000GB月流量&#xff0c;系统盘为180GB SSD盘&#xff0c;12M公网带宽&#xff0c;下载速度峰值为1536KB/s&#xff0c;即1.5M/秒&#xff0c;假设网站内页平均大小为60KB…

备战蓝桥杯---组合数学2

本专题主要介绍容斥原理。 大家高中的时候肯定接触过韦恩图&#xff0c;容斥原理比较通俗的理解就是减去所有可能并加上重叠的部分。 我们直接看公式&#xff1a; 知道后&#xff0c;我们先看道模板题&#xff1a; 下面是AC代码&#xff1a; #include<bits/stdc.h> us…

VMware虚拟机安装openEuler系统(二)(2024)

下面我们进行openEuler系统的一些简单配置。 1. 开启openEuler系统 在VMware Workstation Pro虚拟机软件中找到安装好的openEuler操作系统虚拟机并开启。 等待开启。 2. 安装配置 进入后选择第一个“Install openEuler 20.03-LTS”。 3. 选择系统语言 为虚拟机设置系统语言…