codeforces 913 A Modular Exponentiation
2018-02-05 23:06
363 查看
Description
The following problem is well-known: given integers n and m, calculate
where 2n = 2⋅2⋅...⋅2 (n factors), and denotes the remainder of division of x by y.
You are asked to solve the “reverse” problem. Given integers n and m, calculate
Input
The first line contains a single integer n (1 ≤ n ≤ 108).
The second line contains a single integer m (1 ≤ m ≤ 108).
Output
Output a single integer — the value of
.
Examples
Note
In the first example, the remainder of division of 42 by 24 = 16 is equal to 10.
In the second example, 58 is divisible by 21 = 2 without remainder, and the answer is 0.
题意:输入n,m求m mod 2n
思路:因为m最大只有108,所以对于很大的n大可不必将2n计算出来,只用判断一下是否比m大就行了。
The following problem is well-known: given integers n and m, calculate
where 2n = 2⋅2⋅...⋅2 (n factors), and denotes the remainder of division of x by y.
You are asked to solve the “reverse” problem. Given integers n and m, calculate
Input
The first line contains a single integer n (1 ≤ n ≤ 108).
The second line contains a single integer m (1 ≤ m ≤ 108).
Output
Output a single integer — the value of
.
Examples
Input |
---|
4 42 |
Output |
10 |
Input |
---|
1 58 |
Output |
0 |
Input |
---|
98765432 23456789 |
Output |
23456789 |
In the first example, the remainder of division of 42 by 24 = 16 is equal to 10.
In the second example, 58 is divisible by 21 = 2 without remainder, and the answer is 0.
题意:输入n,m求m mod 2n
思路:因为m最大只有108,所以对于很大的n大可不必将2n计算出来,只用判断一下是否比m大就行了。
#include <stdio.h> int main() { int n, m; //m mod 2^n scanf("%d %d", &n, &m); int n2 = 1; for (int i = 0; i < n; ++i) {//做n次2的幂运算 if (n2 * 2 <= m)n2=n2 * 2; else { n2 = n2 * 2; break; }//当n2大于m时中断计算 } printf("%d", m%n2); }
相关文章推荐
- Codeforces 495 B. Modular Equations && Codeforces Round #282 (Div. 2)
- Codeforces 913 C. Party Lemonade (思维)
- codeforces 913 C. Party Lemonade【思维贪心】
- [数论][构造][离散对数] Codeforces 913 G. Power Substring
- [数论] 51Nod 1217 Minimum Modular & Codeforces 303C #183 (Div. 1) Minimum Modular
- 913A - Modular Exponentiation GNU
- Codeforces 913 A 模拟 B模拟 C 贪心+位运算 D 优先队列+枚举 (补题)
- Fast Modular Exponentiation
- CodeForces 913 E. Logical Expression
- 【CodeForces】913 C. Party Lemonade
- Fast modular exponentiation
- 【CodeForces】913 D. Too Easy Problems
- 【CodeForces】913 E. Logical Expression
- A. Modular Exponentiation
- codeforces 913 B. Christmas Spruce 【思维】
- A. Modular Exponentiation
- codeforces 913 c Party Lemonade(贪心+DP)
- 【CodeForces】913 F. Strongly Connected Tournament 概率和期望DP
- CodeForces - 913D(贪心+优先队列)
- CodeForces - 668B Little Artem and Dance(规律题)