N^N最左边和最右边的数(数学)
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最左边和最右边的数(数学)相关推荐
- 记录一下flex布局左边固定,右边100%
通过设置css的代码,来使得布局变成左边固定,右边100% <style> #flex{ display: flex; } #left{ width: 200px; } #right{ b ...
- 基于Ajax+div的“左边菜单、右边内容”页面效果实现
效果演示: ①默认页面(index.jsp): ②:点击左侧 用户管理 标签下的 用户列表 选项后,右边默认页面内容更新为用户列表页(userList.jsp)的内容 : ③:同理,点击 产品管理.订 ...
- 2018腾讯内部转岗面试题3——找出数组中比左边大比右边的小的元素
题目: 以时间复杂度 O(n) 从长度为 n 的数组中找出同时满足下面两个条件的所有元素: (1)该元素比放在它前面的所有元素都大: (2)该元素比放在它后面的所有元素都小. 分析: 面试官给的上面冗 ...
- 左边是地狱右边也是地狱_我担任地狱首席执行官的时间
左边是地狱右边也是地狱 回顾性 (RETROSPECTIVE) Back in primary school, I was a curious lad. I fit in better with th ...
- 左边是地狱右边也是地狱_像我这样的设计师的特别地狱
左边是地狱右边也是地狱 by Adrian Hanft 通过阿德里安·汉夫特(Adrian Hanft) 像我这样的设计师的特别地狱 (A Special Hell for Designers Lik ...
- 左边是地狱右边也是地狱_走出教程地狱
左边是地狱右边也是地狱 Let's face it, we've all been there. Maybe you are still stuck in tutorial hell and are ...
- JS从左边移动到右边
1.效果图: 2.代码: <html><head></head><body><%@ page language="java" ...
- 左边是地狱右边也是地狱_地狱甚至还能做些什么(除了拿走我们的钱)
左边是地狱右边也是地狱 As Steam unveils an overhaul to its chat system that barely competes with the rising sta ...
- css布局:左边固定宽度,右边自适应宽度或右侧固定,左侧自适应三种方法
方法一:浮动布局 这种方法我采用的是左边浮动,右边加上一个margin-left值,让他实现左边固定,右边自适应的布局效果 HTML Markup <div id="left" ...
最新文章
- mysql状态常用参数分析
- 【SSM框架系列】Spring 的 AOP(面向切面编程)
- C++ new和delete(C++动态分配和释放内存)
- 仿LordPE获取PE结构
- C++ auto关键字
- 定时自动启动任务crontab命令用法
- 框架实现修改功能的原理_JAVA集合框架的特点及实现原理简介
- 五个使Java变得更好的功能
- OpenCV与图像处理学习三——线段、矩形、圆、椭圆、多边形的绘制以及文字的添加
- 全面拥抱 FastApi — 多应用程序项目结构规划
- 60-400-240-使用-binlog-Canal使用文档md
- 各种【icon】矢量图
- hide your website's wordpress info/path/way
- ICC_lab总结——ICC_lab3:布局
- 【LOJ#10170】国王
- 通过 Nginx 来实现禁止国外IP访问网站
- mysql当前时间相减_mysql 查询当前时间加减时间
- mongodb Cursor
- 斜线“\”与反斜线“/”应用场景的整理
- php 文字水印换行,thinkPHP5图片加文字水印实现换行的方法
热门文章
- 如何使用Webpack
- pc 图片预览放大 端vue_移动端Vue.js的图片预览组件,支持放缩、滑动功能!
- 机器学习(四) 下采样和上采样
- python如何去掉字符串‘\xa0’
- Struts2.xml
- 致敬!再见了!LayUI !
- 屏幕滑动_Appium滑动引导页swipe函数
- anaconda 安装tensorfollow 镜像_手把手教新手安装Anaconda配置开发环境
- python队列来做什么_python分布式爬虫中的消息队列是什么?
- python编程用户登陆c_django实现用户登陆功能详解