当前位置: 首页 > news >正文

作业比赛编号 : 5117 - 2023年算法基础第9次 问题 A: 取余运算

问题 A: 取余运算

[命题人 : admin]

时间限制 : 1.000 sec  内存限制 : 128 MB

提交问题列表解决: 175提交量: 413统计

题目描述

输入b,p,k的值,编程计算bp mod k的值。其中的b,p,k*k为长整型数(2^31范围内)。

输入

b p k 

输出

输出b^p mod k=?

=左右没有空格

样例输入 Copy
2  10  9
样例输出 Copy
2^10 mod 9=7

分治,快速幂的思想,主要是看那段快速求余的过程,应该是时间复杂度最低的一种了,我试了一下其他的时间复杂度也偏低的但是不行,都没有过,估计是一定要最快的一种吧

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{long long b, p, k;cin >> b >> p >> k;long long a = p;long long result = 1;long long base = b;while (a > 0){if (a % 2 == 1){result = (result * b) % k;}a = a >> 1;b = (b * b) % k;}cout << base << "^" << p << " mod " << k << "=" << result << endl;return 0;
}


http://www.mrgr.cn/news/14555.html

相关文章:

  • 当不显示定义默认成员函数,会出现什么状况
  • 大数据技术之Zookeeper客户端 API 操作(4)
  • ComfyUI SDXL Prompt Styler 简介
  • HarmonyOS NEXT应用开发: 常用页面模板
  • cthub-ssrf通关攻略
  • 数据库系统之逻辑设计
  • ES6随笔
  • 第二讲__提炼
  • 使用Python写贪吃蛇游戏
  • 动态代理和静态代理的区别,动态代理怎么提高网络安全性
  • 结构型设计模式-适配器(adapter)模式-python实现
  • 【香橙派系列教程】(十六) 语音模块与阿里云结合
  • CSR和COO实现spgemm
  • Java面试宝典-java基础02
  • docker网络+跨主机容器之间的通讯
  • 【Java】—— Java面向对象基础:Java中类的构造器与属性初始化,Student类的实例
  • Kafka 到数据仓库:使用 bend-ingest-kafka 将消息加载到 Databend
  • 【Hot100】LeetCode—79. 单词搜索
  • Linux查看jvm相关参数以及设置调优参数
  • MFC工控项目实例之八选择下拉菜单添加打钩图标