Leading and Trailing

lightoj 链接:http://lightoj.com/volume_showproblem.php?problem=1282

uva 链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1970

题意:给定 n, k ,求 nk 的前3位和后三位的值。

思路1、前 3 位:把 nk 转化为 a.bc * 10,两边取 10 的对数得到 k * lg(n) = m + lg(a.bc)  ( lg(a.bc) < 1 ) 。 所以把 k * lg(n) 减掉整数部分(即 m )就可以得到

lg(a.bc) , 然后计算 10 lg(a.bc) * 100 就能得到答案。

  2、后3位:把 k 化成二进制的数,进行快速幂取模运算,没难度。

代码

lightoj 1282 代码:

 #include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std; typedef long long LL;
int n, k; int front(int n, int k) //前3位
{
double s = k*log10(n) - (int) (k*log10(n)); //取对数
s = pow(, s);
return s * ;
} int rear(int n, int k) //后3位
{
if(!k) return ; //快速幂
LL s = rear(n, k/);
if(k&) s = s*s % * n % ;
else s = s*s % ;
return s % ;
} int main()
{
int t, i;
cin >> t;
for(i = ; i <= t; ++i)
{
scanf("%d%d", &n, &k);
printf("Case %d: %d %03d\n", i, front(n, k), rear(n, k));
}
return ;
}

uva 11029 代码:

 #include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std; typedef long long LL;
int n, k; int front(int n, int k) //前3位
{
double s = k*log10(n) - (int) (k*log10(n)); //取对数
s = pow(, s);
return s * ;
} int rear(int n, int k) //后3位
{
if(!k) return ; //快速幂
LL s = rear(n, k/);
if(k&) s = s*s % * n % ;
else s = s*s % ;
return s % ;
} int main()
{
int t;
cin >> t;
while(t--)
{
scanf("%d%d", &n, &k);
printf("%d...%03d\n", front(n, k), rear(n, k));
}
return ;
}

lightoj 1282 && uva 11029的更多相关文章

  1. LightOJ 1282 Leading and Trailing (快数幂 + 数学)

    http://lightoj.com/volume_showproblem.php?problem=1282 Leading and Trailing Time Limit:2000MS     Me ...

  2. Leading and Trailing LightOJ - 1282 题解

    LightOJ - 1282 Leading and Trailing 题解 纵有疾风起 题目大意 题意:给你一个数n,让你求这个数的k次方的前三位和最后三位. \(2<=n<2^{31} ...

  3. UVA 11029 || Lightoj 1282 Leading and Trailing 数学

    Leading and Trailing You are given two integers: n and k, your task is to find the most significant ...

  4. uva 11029

    看了别人的解法 发现了 modf 这个函数 取小数部分 /*********************************************************************** ...

  5. LightOj 1282 Leading and Trailing

    求n^k的前三位数字和后三位数字. 范围: n (2 ≤ n < 231) and k (1 ≤ k ≤ 107). 前三位: 设 n^k = x ---> lg(n^k)=lg(x) - ...

  6. LightOJ 1282 Leading and Trailing 数论

    题目大意:求n^k的前三位数 和 后三位数. 题目思路:后三位数直接用快速幂取模就行了,前三位则有些小技巧: 对任意正数都有n=10^T(T可为小数),设T=x+y,则n=10^(x+y)=10^x* ...

  7. Uva 11029 Leading and Trailing (求n^k前3位和后3位)

    题意:给你 n 和 k ,让你求 n^k 的前三位和后三位 思路:后三位很简单,直接快速幂就好,重点在于如何求前三位,注意前导0 资料:求n^k的前m位 博客连接地址 代码: #include < ...

  8. lightoj 1282 取对数的操作

    /* 前三位 len=log10n^k(乘积的长度) len=klog10n n^k=x*10^(len-1) x=n^k/10^(len-1) log10x = k*log10n - (len-1) ...

  9. Leading and Trailing LightOJ - 1282 (取数的前三位和后三位)

    题意: 求n的k次方的前三位 和 后三位 ...刚开始用 Java的大数写的...果然超时... 好吧  这题用快速幂取模求后三位  然后用一个技巧求前三位 ...orz... 任何一个数n均可以表示 ...

随机推荐

  1. 【第三章】Shell 变量的数值计算

    一.算数运算符 shell中常见的算术运算符: shell中常见的算术命令: 1. 整数运算 方法一:expr  expr命令就既可以用于整数运算,也可以用于相关字符串长度.匹配等的运算处理: exp ...

  2. crt0.S(_main)代码分析

    crt0,S(_main)代码分析 --- 1. 设置sp寄存器地址 //设置SP栈指针 #if defined(CONFIG_SPL_BUILD) && defined(CONFIG ...

  3. HADOOP docker(八):hadoop本地库

    前言2. Native Hadoop Library3. 使用本地库4. 本地库组件5. 支持的平台6. 下载7. 编译8. 运行时观察9. 检查本地库10. 如果共享本地库 小伙伴还记得每次启动hd ...

  4. 一些容易记混的c++相关知识点

    一些容易记混的c++相关知识. 截图自:<王道程序员面试宝典>

  5. ACM 第十九天

    积性函数 积性函数线性筛,筛素数,u(n),欧拉函数: vis[]=vis[]=,mu[]=,phi[]=; ;i<=N;++i){ ,phi[i]=i-,prime[++cnt]=i; ,k= ...

  6. python学习笔记08:安装django

    linux环境安装django: sudo pip install django windows环境安装django: pip install django 验证django是否安装: python ...

  7. 往Matlab中添加工具包

    使用Matlab过程中,常常会缺少一些函数包导致无法运行,会显示未定义函数. 假如我要用sigshift( ) 这个移位函数,但Matlab中没有,就会提示错误:未定义函数或变量 'sigshift' ...

  8. LintCode-376.二叉树的路径和

    二叉树的路径和 给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径. 一个有效的路径,指的是从根节点到叶节点的路径. 样例 给定一个二叉树,和 目标值 = 5: 返回: [      ...

  9. TCP系列40—拥塞控制—3、慢启动和拥塞避免概述

    本篇中先介绍一下慢启动和拥塞避免的大概过程,下一篇中将会给出多个linux下reno拥塞控制算法的wireshark示例,并详细解释慢启动和拥塞避免的过程. 一.慢启动(slow start) 一个T ...

  10. 【MVC4升级到MVC5】ASP.Net MVC 4项目升级MVC 5的方法

    1.备份你的项目 2.从Web API升级到Web API 2,修改global.asax,将 ? 1 WebApiConfig.Register(GlobalConfiguration.Config ...