# lightoj 1282 求n^k的前面3位和后面三位

1282 - Leading and Trailing
 Time Limit: 2 second(s) Memory Limit: 32 MB

You are given two integers: n and k, your taskis to find the most significant three digits, and least significant threedigits of nk.

# Input

Input starts with an integer T (≤ 1000),denoting the number of test cases.

Each case starts with a line containing two integers: n (2≤ n < 231) and k (1 ≤ k ≤ 107).

# Output

For each case, print the case number and the three leadingdigits (most significant) and three trailing digits (least significant). Youcan assume that the input is given such that nk contains atleast six digits.

# Output for Sample Input

5

123456 1

123456 2

2 31

2 32

29 8751919

Case 1: 123 456

Case 2: 152 936

Case 3: 214 648

Case 4: 429 296

Case 5: 665 669

Problem Setter: Shamim Hafiz
Special Thanks: Jane Alam Jan (Solution, Dataset)

#include<bitset>
#include<map>
#include<vector>
#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<cmath>
#include<stack>
#include<queue>
#include<set>
#define inf 0x3f3f3f3f
#define mem(a,x) memset(a,x,sizeof(a))

using namespace std;

typedef long long ll;
typedef pair<int,int> pii;

inline int in()
{
int res=0;char c;
while((c=getchar())<'0' || c>'9');
while(c>='0' && c<='9')res=res*10+c-'0',c=getchar();
return res;
}
const int N=100100;

ll power(ll a,ll n)
{
ll ret =1 ;
while(n)
{
if(n&1) ret=ret*a%1000;
a=a*a%1000;
n>>=1;
}
return ret;
}
int main()
{
int T=in(),ii=1;
while(T--)
{
int n =in(),k=in();
int len=k*log10(n*1.0);
double x=pow(10.0,k*1.0*log10(n*1.0)-len+1);
while(x<100) x*=10;
int pre=x;
ll last = power(n,k);
printf("Case %d: %d ",ii++,pre);
if(last>=100) printf("%lld\n",last);
else if (last>=10) printf("0%lld\n",last);
else printf("00%lld\n",last);
}
return 0;
}


• 本文已收录于以下专栏：

## lightOJ 1282 Leading and Trailing

• lxpaopao
• 2015年05月01日 08:40
• 1117

## 数论知识点1——快速幂取模-LightOJ 1282

• gscsdlz
• 2016年07月12日 10:00
• 477

## Lightoj 1282 Leading and Trailing（前三后三位，学习fmod()）

• shyazhut
• 2016年08月09日 11:43
• 679

## lightoj1282 - Leading and Trailing（水题）

• IDrandom
• 2016年05月04日 01:00
• 311

## LightOJ 1282

You are given two integers: n and k, your task is to find the most significant three digits, and lea...
• qingqiu_WD
• 2017年01月19日 23:06
• 207

## lightoj 1282 - Leading and Trailing

You are given two integers: n and k, your task is to find the most significant three digits, and lea...
• SSimpLe_Y
• 2017年06月30日 20:14
• 649

## MySQL学习笔记——MySQL性能优化方法简述

• versencoder
• 2016年08月09日 10:44
• 569

## Qt 之 QFrame

QFrame *line = new QFrame();     line->setFrameShape(QFrame::HLine);     line->setFrameShadow(QFra...
• icatchyou
• 2014年09月24日 11:37
• 328

## lightoj1282

• zh9406
• 2015年03月21日 22:16
• 296

## lightoj 1282 求n^k的前面3位和后面三位

1282 - Leading and Trailing PDF (English) Statistics Forum Ti...
• liyunlong41
• 2015年11月19日 18:25
• 495

举报原因： 您举报文章：lightoj 1282 求n^k的前面3位和后面三位 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)