K次方

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
Total Submission(s) : 34   Accepted Submission(s) : 16

Font: Times New Roman | Verdana | Georgia

Font Size: ← →

Problem Description

所有在程式设计已经有点经验的人都知道,当k很大时你无法完整的表达出n k。例如: C语言的函数 pow(123456,455)能够用double资料型态来表达,但是你却无法得到所有正确的数字。然而,若是能知道一些最左边(leading)和最右边(trailing)数字的话,也可稍微得到一些满足。

Input

输入的第一行有一个整数T(T < 1001),代表有几组测试资料。接下来的T行,每行有2个正整数n和k。n可以用32位元的整数表达,而k<10000001。

Output

每组测试资料输出一行,输出LLL...TTT的样式。其中LLL代表n k的最左边3个数字,TTT代表n k的最右边3个数字。例如123456 2 = 15241383936,所以你应该输出152...936。
你可以假设n k至少有6位数。

Sample Input

3
123456 1
123456 2
2100000056 67333

Sample Output

123...456
152...936
982...016

Author

shenlizhong
算法:

A、巧妙的思想,后三位用幂取模可以求出注意补0,总位数可利用t=k*log10((double)n)+1向上取整求出,前三位根据方程head=n^k/(10^(t-3))求出

#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
int pow_mod(int a,int n,int m)
{if(n==0)return 1%m;long long x=pow_mod(a,n/2,m);x=(x*x)%m;if(n%2)x=(x*a)%m;return (int)x;
}
int main()
{int T,n,k;scanf("%d",&T);while(T--){scanf("%d%d",&n,&k);int t=k*log10((double)n)+1,head,tail;tail=pow_mod(n%1000,k,1000);for(head=100;log(head)<=k*log(n)-(t-3)*log(10);head++);head--;printf("%3d...%03d\n",head,tail);//不足3位补0}return 0;
}

k次方 求1个数的n次方的前三位数和后三位数相关推荐

  1. Pow(x, n) 求一个数的n次方

    我们知道C++中是有pow函数的,我们这次自己来写个,因为有这样的算法题目. 所需数学知识: 大致考虑正数,0,负数即可.n多个数相乘的问题. 1.简单For循环 这还不简单,马上写一个for循环: ...

  2. (Java蓝桥杯算法)给你一个非零整数,让你求这个数的n次方,每次相乘的结果可以在后面使用,求至少需要多少次乘。

    [问题描述] 给你一个非零整数,让你求这个数的n次方,每次相乘的结果可以在后面使用,求至少需要多少次乘.如24:2*2=22(第一次乘),22*22=24(第二次乘),所以最少共2次: [输入格式] ...

  3. ACM_求N^N的前5位数和后5位数(数论)

    NNNNN Time Limit: 2000/1000ms (Java/Others) Problem Description: 对于整数N,求N^N的前5位和后5位(1057题加强版) Input: ...

  4. Java中求一个数的幂次方

    Java中求 m 的 n 次方不能使用 m^n,可使用 Math.pow(m, n) 来求m的n次方,求得结果为浮点类型.

  5. c语言一个数的n次方,Pow(x, n) 求一个数的n次方

    我们知道C++中是有pow函数的,我们这次自己来写个,因为有这样的算法题目. 所需数学知识: 大致考虑正数,0,负数即可.n多个数相乘的问题. 1.简单For循环 这还不简单,马上写一个for循环:d ...

  6. c语言for求一个数得n次方,C语言中表示一个数的次方怎样表?

    2011-06-26 C语言里"/"在表示两个数相除时,具体是怎样运算的? 是不是取不超过代有小数点的商的最大整数啊? 那个"向下取整"具体是啥意思啊? C语言 ...

  7. 每天一道LeetCode-----求一个数的n次方,n是很大很大的数,n用数组存储着

    Pow(x, n) 原题链接Pow(x, n) 给定一个数,求n次方.n次方可以分解成两个n/2次方相乘,所以递归即可. class Solution { public:double myPow(do ...

  8. 怎么用计算机算20次方,一个数的几次方怎么算,有简便方法吗?比如2的20次方,怎么算快?...

    一个数的几次方怎么算,有简便方法吗?比如2的20次方,怎么算快?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一个数的 ...

  9. 编程数学(A-1)-(B-1)-一个数的负次方怎么算

    一个数的负几次方就是这个数的几次方的倒数.当这个数是正整数时,也就是说一个数的负n次方就是这个数的n次方分之一.例如: 2的-2次方=2的2次方分之1=4分之13的-2次方=3的2次方分之1=9分之1 ...

最新文章

  1. linux中sh+$0,浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释
  2. JavaScript通过 new FileReader() 获取图片base64 无组件上传图片
  3. 信息系统项目管理系列之二:项目生命期和组织
  4. 鸿蒙系统-手机-JS FA(Feature Ability)调用Java PA(Particle Ability)
  5. EFCore 迁移
  6. 了解过Vintage的N种样式?
  7. 【源码】基于部分随机PSO的光伏MPPT算法
  8. php 微信机器人_php7 版本的微信机器人来了!(这应该是最灵活的版本了)
  9. windows命令修改IP地址
  10. 链表哈夫曼树--编码--解码
  11. VS2019打包exe文件
  12. gba模拟器ios_不越狱iOS设备安装GBA模拟器 GBA4iOS 方法
  13. 巴比特 | 元宇宙每日必读:数字藏品二级市场乱象丛生,00后成新韭菜,监管迫在眉睫?...
  14. 数字人民币在上海试点,首次实现脱离手机的硬钱包支付模式!
  15. 如何在简中版 MathType 安装过程中,就能输入产品密匙?
  16. mixly 添加micropython_Mixly For Mac
  17. 最大流为什么会等于最小割
  18. CPU密集和IO密集
  19. 网络工程师必备测试网络软件,网络工程师都知道的几款网络故障诊断工具
  20. 探秘野三坡红叶大峡谷

热门文章

  1. Woaw Gallery中环和湾仔空间呈献国际艺术家群展
  2. 【迪杰斯特拉的优化】 洛谷4779板子题
  3. Touchpad solution on Linux
  4. laravel8 分页样式的改变
  5. 2017 计蒜之道 初赛 第一场 A题(阿里的新游戏)
  6. 批量将记事本文本文件转为 UTF8 等编码格式
  7. 首发 | 2018年十大现象级网络小说
  8. 民用航空机场障碍物限制面保护范围数据以及禁飞区数据下载
  9. POI操作WORD分页
  10. 计算机应届生就业,应届生计算机专业发展方向以及计算机专业就业前景