CH 0101 - a^b / CH 0102 - 64位整数乘法 - [快速幂和快速乘]
0101 a^b
题目链接:传送门
描述
求 a 的 b 次方对 p 取模的值,其中 1≤a,b,p≤10^9 输入格式 三个用空格隔开的整数 a,b 和 p。
输出格式
一个整数,表示 a^b mod p 的值。
样例输入
2 3 9
样例输出
8
题解:
快速幂。
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a,b,mod;
ll fpow(ll a,ll n)
{
ll res=, base=a%mod;
while(n)
{
if(n&) res*=base, res%=mod;
base*=base, base%=mod;
n>>=;
}
return res%mod;
}
int main()
{
cin>>a>>b>>mod;
cout<<fpow(a,b)<<endl;
}
0102 64位整数乘法
题目链接:传送门
描述
求 a 乘 b 对 p 取模的值,其中 1≤a,b,p≤10^18。
输入格式
第一行 a,第二行 b,第三行 p。
输出格式
一个整数,表示 a*b mod p 的值。
样例输入
2
3
9
样例输出
6
题解:
和快速幂是一样的思路。
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a,b,mod;
ll fmul(ll a,ll n)
{
ll res=, base=a%mod;
while(n)
{
if(n&) res+=base, res%=mod;
base+=base, base%=mod;
n>>=;
}
return res%mod;
}
int main()
{
cin>>a>>b>>mod;
cout<<fmul(a,b)<<endl;
}
CH 0101 - a^b / CH 0102 - 64位整数乘法 - [快速幂和快速乘]的更多相关文章
- CH0101 a^b、 CH0102 64位整数乘法(快速幂、快速乘)【模板题】
题目链接:传送门 //a^b 传送门 //64位整数乘法 题目: 描述 求 a 的 b 次方对 p 取模的值,其中 ≤a,b,p≤^ 输入格式 三个用空格隔开的整数a,b和p. 输出格 ...
- CH0101 a^b & CH0102 64位整数乘法
大数取模的两道题. 虐狗宝典学习笔记: 两个数值执行算术运算时,以参与运算的最高数值类型为基准,与保存结果的变量类型无关.两个32位整数的成绩可能超过int类型的表示范围,但是CPU只会用一个32位寄 ...
- CH0102 64位整数乘法 数论
正解:数论/一个神仙想法 解题报告: 先放传送门qwq 两种方法,都还挺妙的就都写了qwq 第一种是快速幂 把b用二进制表示成,ck*2k+ck-1*2k-1+...+c0*20 然后就可以表示成,a ...
- AcWing 90. 64位整数乘法
求a*b%p的值. 0<a,b,p<1e18; 原题链接 #include<bits/stdc++.h> #define ull unsigned long long usin ...
- C++的64位整数
在做ACM题时,经常都会遇到一些比较大的整数.而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647.而unsig ...
- C/C++中的64位整数
C/C++中的64位整数(__int64 and long long) 在做ACM题时,经常都会遇到一些比较大的整数.而常用的内置整数类型常常显得太小了:其中long 和 int 范围是[-2^31, ...
- windows 64位整数
#include <iostream> #include <ctime> using namespace std; int main() { cout << cou ...
- printf如何输出64位整数
From: http://blog.csdn.net/zzqhost/article/details/6064886 关于printf函数输出64位数的问题,其实在window下和linux下是不一样 ...
- C对64位整数类型的支持
在使用C语言过程中可能需要接触长整数类型,其中包括固定长度数据类型的声明.输入输出函数的标志符等细节,在此记录. int64_t 与 uint64_t C的标准只规定特定数据类型需要实现的最小长度,特 ...
随机推荐
- 物联网架构成长之路(4)-EMQ插件创建
1. 说明 以下用到的知识,是建立在我目前所知道的知识领域,以后如果随着知识的拓展,不一定会更新内容.由于不是EMQ公司的人,EMQ的文档又很少,很多知识点都是靠猜的.2. 一些资料 架构设计 htt ...
- js正则表达式验证身份证号和密码
//验证身份证号只能输入15位或者18位的身份证号 /^\d{14}[X|\d]{1}$|^\d{18}$/ig //验证只能输入字母和数字组合6到16位 /^[a-z][a-z0-9]{6,16}$ ...
- T-Pot平台Honeytrap蜜罐TCP/UDP服务攻击探测及实现自动化邮件告警
T-pot平台的Honeytrap可观察针对TCP或UDP服务的攻击,作为一个守护程序模拟一些知名的服务,并能够分析攻击字符串,执行相应的下载文件指令,当不产生TCP或者UDP协议的时候Honeytr ...
- vue子父组件的通信
Element使用的是Vue2.0版本,众所周知在Vue 1.0升级到2.0中去除了$broadcast和$dispatch方法. 1.父组件向子组件传值 a.app.vue父组件 <templ ...
- 【Ubuntu】xrdp完美实现Windows远程访问Ubuntu 16.04
步骤一.下载TigerVNC Server软件包 下载地址:Tigervnc Deb软件包(适用于Ubuntu 16.04.1 - 64位) 步骤二. 安装TigerVNC Server软件包 1.打 ...
- Python3求解字符串滤值与百元买百鸡算法
[本文出自天外归云的博客园] 第一题:给你一个字符串,打印出来前后没有空格,单词之间只有一个空格的字符串. 第二题:公鸡3元/只,母鸡4元/只,小鸡1元3只,给你money元一共多少种买法. 普通版解 ...
- wamp多站点多端口配置
1.配置httpd.conf 监听多个端口 #Listen 12.34.56.78:80 Listen 8081 Listen 8082 Listen 8083 可以通过netstat -n -a查看 ...
- [转]RabbitMQ入门教程(概念,应用场景,安装,使用)
原文地址:https://www.jianshu.com/p/dae5bbed39b1 RabbitMQ 简介 RabbitMQ是一个在AMQP(Advanced Message Queuing Pr ...
- Loadrunner C/S关联函数(LSP)AND(LSSS)使用-案例
LSP就是lrs_save_param()函数 LSSS就是lrs_save_searched_string()函数 一下我们用一个例子去说明他们的使用. C/S机制和B/S不一样,特别是有一个dat ...
- Cisco VTP中继协议配置
VTP协议: VLAN中继协议,VTP,VLAN TRUNKING PROTOCOL,是CISCO专用协议,大多数交换机都支持该协议.VTP负责在VTP域内同步VLAN信息, 这样就不必在每个交换上配 ...