codevs 1497取余运算
2024-09-06 17:12:40
1497 取余运算
时间限制: 1 s
空间限制: 128000 KB
题目等级 : 钻石 Diamon
题目描述 Description
输入b,p,k的值,编程计算bp mod k的值。其中的b,p,k*k为长整型数(2^31范围内)。
输入描述 Input Description
b p k
输出描述 Output Description
输出b^p mod k=?
=左右没有空格
样例输入 Sample Input
2 10 9
样例输出 Sample Output
2^10 mod 9=7
【code】
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int b,p,k;
int f(int);
int main()
{
scanf("%d%d%d",&b,&p,&k);
int tmpb=b;
b%=k;//防止b过大
printf("%d^%d mod %d=%d\n",tmpb,p,k,f(p));
return ;
}
int f(int x)
{
if(x==)return ;//任何数的0次方模k都等于1
int tmp=f(x/)%k;//a*b%k=a%k*b%k%k;
tmp=(tmp*tmp)%k;
if(x%==)tmp=(tmp*b)%k;
return tmp;
}
最新文章
- 安装Windows10,Ubuntu双系统14.04LTS记录
- JS 的事件委托机制
- html基础大全(经典)
- Servlet.init() for servlet springMvc
- 16、SQL基础整理(触发器.方便备份)
- python知识点 2014-07-09
- C#堆栈原理(我有两个例子测试你到底会不会)
- MacOS获取辅助功能权限控制鼠标点击事件
- quratz启动流程
- nginx参数优化
- Redis为什么使用单进程单线程方式
- POJ-1180 Batch Scheduling (分组求最优值+斜率优化)
- spring3 hibernate4整合后无法查询数据库
- 【Java并发编程】之七:使用synchronized获取互斥锁的几点说明
- bzoj 5210(树链刨分下做个dp)
- RabbitMQ之发布订阅【译】
- 核函数(kernel function)
- Java常用的几种线程池
- 2.使用ngx_http_auth_basic_module模块为不带认证的资源添加授权
- #Leetcode# 951. Flip Equivalent Binary Trees