快速幂——while理解&&[P1965] 转圈游戏
快速幂——while理解
\]
把k转成2进制
\]
\]
\]
\]
p[0...n]不是一就是零
一开始a=a,若p[0]=1,ans就乘a
接着循环,a=a2,若p[1]=1,ans就乘a2
以此类推
直到第n项
	int a;
	int ans = 1;
	while(k)
	{
		if(k % 2 == 1)	ans *=a;
		k /= 2;
		a *= a;
	}
转圈游戏
裸快速幂
#include <cmath>
#include <cstdio>
#include <string>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
using namespace std;
int a, n, m, x, k;
long long mi;
int QR()
{
	char c;
	int sign = 1;
	c = getchar();
	while (c < '0' ||c > '9'){
		if(c == '-')
			sign = -1;
		c = getchar();
	}
	int res = 0;
	while(c <= '9' &&c >= '0'){
		res *= 10;
		res += c - '0';
		c = getchar();
	}
	res *= sign;
	return res;
}
int main()
{
	n=QR();
	m=QR();
	k=QR();
	x=QR();
	a = 10;
	mi = 1;
	while(k)
	{
		if(k % 2 == 1)	mi *=a;
		k /= 2;
		a *= a;
		a %= n;
		mi %= n; //必须随时取模,不然超ll
	}
	mi *= m;
	mi += x;
	mi %= n;
	printf("%lld",mi);
	return 0;
}
												
											快速幂——while理解&&[P1965] 转圈游戏的更多相关文章
- 洛谷 P1965 转圈游戏
		
洛谷 P1965 转圈游戏 传送门 思路 每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第 m+1 号位置,--,依此类推,第n − m号位置上的小伙伴走到第 0 号 ...
 - 洛谷P1965 转圈游戏 [2013NOIP提高组 D1T1][2017年6月计划 数论04]
		
P1965 转圈游戏 题目描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 ...
 - 洛谷P1965 转圈游戏 [NOIP2013]
		
题目描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,……,依此 ...
 - LUOGU P1965 转圈游戏 (Noip 2013)
		
传送门 解题思路 比较简单的模拟题,转圈一定有一个循环节,而且循环节长度一定小于m,因为循环节是一个%m的剩余系,然后一遍模拟记录下来循环节,快速幂即可. #include<iostream&g ...
 - P1965 转圈游戏
		
很容易可以得到,答案应该是(x+m*10^k)%n 很显然,用O(n)一定会卡爆,所以用快速幂来算,或者找一下循环节也是可以的. #include <bits/stdc++.h> usin ...
 - 洛谷P1965 转圈游戏
		
https://www.luogu.org/problem/show?pid=1965 快速幂 #include<iostream> #include<cstdio> #inc ...
 - 洛谷 P1965 转圈游戏 —— 快速幂
		
题目:https://www.luogu.org/problemnew/show/P1965 居然真的就只是 ( x + m * 10k % n ) % n 代码如下: #include<ios ...
 - luogu P1965 转圈游戏
		
题目描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,……,依此 ...
 - 洛谷——P1965 转圈游戏
		
https://www.luogu.org/problem/show?pid=1965 题目描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n- ...
 
随机推荐
- C#支付宝支付接口H5版(手机网页支付)
			
接口官方文档 https://docs.open.alipay.com/203/107090/ 首先在Nuget 安装 Alipay /// <summary> /// 支 ...
 - .Net Core - AgileHttp
			
2020年新年将至,先预祝.Net Core越来越好. 做了这么多年一线开发,经常跟Http打交道.比如调用三方的Webservice,比如集成微信支付的时候服务端发起Prepay支付.特别是现在分布 ...
 - beetlex网关之聚合和url请求过虑
			
在这里主要介绍beetlex应用网关的两个插件,分别是聚合和url请求过虑.通过聚合插件可以把整合多个请求的数据来应答请求端,而Url请求过虑同可以拒绝一些有非常关键字的请求. 请求聚合 在网关服务中 ...
 - Java类成员之代码块
			
代码块含义:使用{ }括起来的代码 代码块类型: 1.局部代码块:定义在方法体中. 2.构造代码块:也叫初始化代码块,定义在类中方法体之外. 3.静态代码块:定义在类中方法体之外,被static修饰符 ...
 - Java小白集合源码的学习系列:ArrayList
			
ArrayList源码学习 本文基于JDK1.8版本,对集合中的巨头ArrayList做一定的源码学习,将会参考大量资料,在文章后面都将会给出参考文章链接,本文用以巩固学习知识. ArrayList的 ...
 - 牛客暑期ACM多校 第七场
			
链接:https://www.nowcoder.com/acm/contest/145/C来源:牛客网 C .题目描述 A binary string s of length N = 2n is gi ...
 - LGV - 求多条不相交路径的方案数
			
推荐博客 :https://blog.csdn.net/qq_25576697/article/details/81138213 链接:https://www.nowcoder.com/acm/con ...
 - eclipse git 解决冲突 解决 mergetool 不能使用问题
			
eclipse git 解决冲突 解决 mergetool 不能使用问题 本地代码 远程代码 第一步 --> 同步远程资源库,检查是否存在冲突 这里有冲突出现 第二步 --> 如果存在冲突 ...
 - python IO非阻塞模型
			
server端 import socket sk = socket.socket() sk.bind(('127.0.0.1', 8010)) sk.setblocking(False) # sk.l ...
 - mysql 添加/删除列(column)
			
1.添加 格式:alter table 表名 add column 列名 列的数据类型;示例alter table test4 add column addr text; 2.删除 格式: alter ...