ZCMU-1417-快速幂

来源:互联网 发布:手机虚拟摇杆软件 编辑:程序博客网 时间:2024/06/16 23:05

1417: 2048

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 106  Solved: 25
[Submit][Status][Web Board]

Description

想必大家都玩过2048的游戏,小明想知道这个游戏能出现的最高数字是多少?请你帮忙计算,当然小明玩的2048和我们的不太一样,小明的2048不一定是4X4的格子,可以使3X2等等。小明的2048只能随机生成2。

Input

输入n,m(0<=n,m<=10^4)表示有2048游戏矩阵的大小,当0,0时结束;

Output

输出理论最大值,答案对1000000007取余。

Sample Input

2 2
0 0

Sample Output

16
【解析】
这道题我觉的有必要写一下,快速幂的应用。我觉得还是很有必要记一下的,此处配上大佬的代码
#include <stdio.h>#include <math.h>#define MOD 1000000007long long find(int n){    long long a=2;    long long sum=1;    while (n)    {        if (n&1) sum=sum*a%MOD;//总和        a=a*a%MOD;        n>>=1;    }    return sum;}int main(){    int n,m;    while (~scanf("%d%d",&n,&m)&&(n!=0 || m!=0)){    if (n==0||m==0) printf("0\n");    else{        n*=m;        printf("%lld\n",find(n));    }}return 0;}

0 0
原创粉丝点击