1763: N^N
时间限制: 1 Sec 内存限制: 128 MB

[提交][状态][讨论版]
题目描述
现给你一个正整数N,请问N^N的最左边和最右边的数字是什么?

输入
输入包含多组测试数据。每组输入一个正整数N(N<=1000000)。

输出
对于每组输入,输出N^N的最左边和最右边的数字。

样例输入

3
5

样例输出

2 7
3 5

提示
来源
/*
n^n非常大,直接算是得不得结果的。但是我们知道任意一个整数数都可以化成a*10^k
比如16 = 1.6 * 10^1,27 = 2.7 * 10 ^1
那么对于本题n^n = a * 10 ^ k
根据题意,我们要想办法算出a大概是多少,然后强制转换为整型,其结果就是n^n结果最左边的数
我们可以两边同时取以10为底的对数:

log10(n^n) = log10(a*10^k)

左边:
log10(n^n) = nlog10(n)
右边:

log10(a*10^k) = log10(a) + log10(10^k)
nlog10(n) =  log10(a) + k
我们知道`a>0&&a<10,所以 log10(a)的结果是非常小的,所以nlog10(n) ≈ k`
so:log10(a) = nlog10(n) - int(nlog10(n))a = 10^(nlog10(n) - int(nlog10(n))ans1 = int(a) //最左边的数

对于最右边的数,比较好算,n^n按我们手动计算过程当中可以发现,每次的结果的最后一位只和上次结果的最后一位有关,所以直接来个快速幂,不断对10取余就行。
*/

#include <iostream>
#include <math.h>
using namespace std;
typedef long long LL;
LL quickPow(LL a,LL b)
{//a %= 10;//n最大1e6,这里不取也可以LL res = 1;while(b){if(b&1) res = res * a % 10;a = a*a%10;b >>= 1;}return res;
}
int main()
{double n;while(cin>>n){int k = n*log10(n);double x = pow(10,n*log10(n)-k);LL t = n;cout<<(int)x<<" "<<quickPow(t,t)<<endl;}return 0;
}

N^N最左边和最右边的数(数学)相关推荐

  1. 记录一下flex布局左边固定,右边100%

    通过设置css的代码,来使得布局变成左边固定,右边100% <style> #flex{ display: flex; } #left{ width: 200px; } #right{ b ...

  2. 基于Ajax+div的“左边菜单、右边内容”页面效果实现

    效果演示: ①默认页面(index.jsp): ②:点击左侧 用户管理 标签下的 用户列表 选项后,右边默认页面内容更新为用户列表页(userList.jsp)的内容 : ③:同理,点击 产品管理.订 ...

  3. 2018腾讯内部转岗面试题3——找出数组中比左边大比右边的小的元素

    题目: 以时间复杂度 O(n) 从长度为 n 的数组中找出同时满足下面两个条件的所有元素: (1)该元素比放在它前面的所有元素都大: (2)该元素比放在它后面的所有元素都小. 分析: 面试官给的上面冗 ...

  4. 左边是地狱右边也是地狱_我担任地狱首席执行官的时间

    左边是地狱右边也是地狱 回顾性 (RETROSPECTIVE) Back in primary school, I was a curious lad. I fit in better with th ...

  5. 左边是地狱右边也是地狱_像我这样的设计师的特别地狱

    左边是地狱右边也是地狱 by Adrian Hanft 通过阿德里安·汉夫特(Adrian Hanft) 像我这样的设计师的特别地狱 (A Special Hell for Designers Lik ...

  6. 左边是地狱右边也是地狱_走出教程地狱

    左边是地狱右边也是地狱 Let's face it, we've all been there. Maybe you are still stuck in tutorial hell and are ...

  7. JS从左边移动到右边

    1.效果图: 2.代码: <html><head></head><body><%@ page language="java" ...

  8. 左边是地狱右边也是地狱_地狱甚至还能做些什么(除了拿走我们的钱)

    左边是地狱右边也是地狱 As Steam unveils an overhaul to its chat system that barely competes with the rising sta ...

  9. css布局:左边固定宽度,右边自适应宽度或右侧固定,左侧自适应三种方法

    方法一:浮动布局 这种方法我采用的是左边浮动,右边加上一个margin-left值,让他实现左边固定,右边自适应的布局效果 HTML Markup <div id="left" ...

最新文章

  1. mysql状态常用参数分析
  2. 【SSM框架系列】Spring 的 AOP(面向切面编程)
  3. C++ new和delete(C++动态分配和释放内存)
  4. 仿LordPE获取PE结构
  5. C++ auto关键字
  6. 定时自动启动任务crontab命令用法
  7. 框架实现修改功能的原理_JAVA集合框架的特点及实现原理简介
  8. 五个使Java变得更好的功能
  9. OpenCV与图像处理学习三——线段、矩形、圆、椭圆、多边形的绘制以及文字的添加
  10. 全面拥抱 FastApi — 多应用程序项目结构规划
  11. 60-400-240-使用-binlog-Canal使用文档md
  12. 各种【icon】矢量图
  13. hide your website's wordpress info/path/way
  14. ICC_lab总结——ICC_lab3:布局
  15. 【LOJ#10170】国王
  16. 通过 Nginx 来实现禁止国外IP访问网站
  17. mysql当前时间相减_mysql 查询当前时间加减时间
  18. mongodb Cursor
  19. 斜线“\”与反斜线“/”应用场景的整理
  20. php 文字水印换行,thinkPHP5图片加文字水印实现换行的方法

热门文章

  1. 如何使用Webpack
  2. pc 图片预览放大 端vue_移动端Vue.js的图片预览组件,支持放缩、滑动功能!
  3. 机器学习(四) 下采样和上采样
  4. python如何去掉字符串‘\xa0’
  5. Struts2.xml
  6. 致敬!再见了!LayUI !
  7. 屏幕滑动_Appium滑动引导页swipe函数
  8. anaconda 安装tensorfollow 镜像_手把手教新手安装Anaconda配置开发环境
  9. python队列来做什么_python分布式爬虫中的消息队列是什么?
  10. python编程用户登陆c_django实现用户登陆功能详解