Paper folding

Paper folding

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 416    Accepted Submission(s): 45


Problem Description
Mr.Hu was addicted to games about paper.Now he has a square paper,then he fold the paper along the midline for N times,and the latter fold and the former fold are vertical.Eventually ,the paper will be divided into a certain number of grids by the fold.Now,Give you the minimum length K of the grid.Can you tell me the area of the paper?
(the answer mod 10000007 )
 

Input
There are multiple of cases.Each case in a line.Each line will contain two integers N and K(0=<N<=10^9,0<K<1000).
 

Output
Output the answer in a line.
 

Sample Input
1 2 2 3 4 6
 

Sample Output
16 36 576

#include <stdio.h>

int main()
{
int n,k;
__int64 a,b;
while(scanf("%d %d",&n,&k)!=EOF)
{
a=1,b=2;
if(n%2!=0)
n++;
while(n>0)
{
if(n%2!=0)
a=(a*b)%10000007;
b=(b*b)%10000007;
n=n/2;
}
k=(k*k)%10000007;
printf("%I64d\n",(a*k)%10000007);
}
return 0;
}

题意就是给你折叠的次数和一个边的长度,求原来纸的面积
这道题关键是对偶数次的还原,为什么我对每一步都取余呢,嘿嘿,因为我怕数太大
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值