求n^n和n!的最左边的数字

牛客竞赛:第三届超越杯程序设计团体赛题解 比赛链接:第三届超越杯程序设计团体赛重现赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJhttps://www.nowcoder.com/acm/contest/31374 A.红红找蓝蓝. 题目描述 信大校园很大很大很大,红红和蓝蓝最近玩上了捉迷藏。具体来说,信大可以抽象成一个 n×nn\times nn×n的方格矩阵,`x`表示不能行走的楼房(可能是教学楼、实验楼、食堂等地方),`.`表示可以行走的道路。红红的初始位置在 A 点,而蓝蓝的初始位置在 B 点。红... 阅读详情

原文出自:http://hi.baidu.com/matrush/item/aa83b1db96b131ff92a97427

[RQNOJ499]阶乘最高位

求n^n和n!的最左边的数,核心思想就是取10为底的对数推公式,n!还要用到斯特灵近似公式。

推广:求左边第x位只要推公式时将10^(k-1)变为10^(k-x)即可,最后答案取模10。

//n^n最左位
n^n的位数:k = [lg(n^n)] + 1 = [n * lg(n)]
最左边的数作个位:x = n^n / 10^(k-1)
取对数:lg(x) = n * lg(n) - (k-1) = (n*lg(n) - [n*lg(n)])
最左边的数:[x] = [10^lg(x)] = [10^(n*lg(n) - [n*lg(n)])]

//n!最左位
n!的位数:k = [lg(n!)] + 1
最左边的数作个位:x = n! / 10^(k-1)
取对数:lg(x) = lg(n!) - (k-1) = lg(n!) - [lg(n!)]
最左边的数:[x] = [10^lg(x)] = [10^(lg(n!) - [lg(n!)])]
n!将会很大,所以要用Stirling公式近似计算
Stirling公式:lim(n→∞) √(2πn) * (n/e)^n / n! = 1
也就是说当n趋于无穷大的时候,n!与√(2πn) * (n/e)^n的值十分接近
所以lg(n!) = lg(√(2πn) * (n/e)^n) = 1/2*(lg(2π) + lg(n)) + n * (lg(n) - lg(e))
代入[x] = [10^lg(x)] = [10^(lg(n!) - [lg(n!)])]即可。

提示:log10(d) = log(d)/log(10.0)

代码:

  1. #include <iostream>  
  2. #include <cmath>  
  3. using namespace std;  
  4. const double PI = acos(-1.0);  
  5. const double e = exp(1.0);  
  6. int main() {  
  7.     int n;  
  8.     while (scanf("%d", &n) != EOF && n) {  
  9.        //n^n  
  10.         double a = n * log10(n);  
  11.         printf("%d\n", (int)pow(10.0, a - (long long)a));  
  12.        //n!  
  13.         double b = (log10(2 * PI) + log10(n)) / 2 + n * (log10(n) - log10(e));  
  14.         printf("%d\n",(int)pow(10.0,b - (long long)b));  
  15.     }  
  16. }  
N 的 N 次方 题目描述 现给你一个正整数N,请问N^N的最左边的数字是什么? 输入 输入包含多组测试数据。每组输入一个正整数N(N&lt;=1000000)。 输出 对于每组输入,输出N^N的最左边的数字。 样例输入 3 4 样例输出     2     2     代码 ​#include&lt;stdio.h&gt; #include&lt;math.h&gt; int ... 阅读详情

相关推荐

【杭电-oj】 -1060-Leftmost Digit(输出n的n次方最左边数)

Problem Description Given a positive integer N, you should output the leftmost digit of N^N.   Input The input contains several test cases. The first line of the input is a single inte

Bear1998的博客 1627

http://zc.qq.com/cht/new.html,csgp-20201027

IDEA: XBRL DOCUMENT{"instance": {"csgp-20201027.htm": {"axisCustom": 0,"axisStandard": 0,"contextCount": 1,"dts": {"calculationLink": {"local": ["csgp-20201027_cal.xml"]},"definitionLink": {"local": [...

weixin_42549117的博客 3132

N的N次方

题目描述 现给你一个正整数N,请问N^N的最左边的数字是什么? 输入 输入包含多组测试数据。每组输入一个正整数N(N&lt;=1000000)。 输出 对于每组输入,输出N^N的最左边的数字。 样例输入 3 4 样例输出 2 2 思路: 求最左边的数,范围在1000000,即要保证不超过范围,又要保证在运算过程中不丢失精度,易想到double。在最后需要特殊处理,...

一个和代码打交道の小孩 3481

有汉字的汉字首个字母方法(js)

(function (window) {     if (window.TPHY == undefined) window.TPHY = {};     if (TPHY.EXT == undefined) TPHY.EXT = {}; })(window); TPHY.EXT.Spell = {     DB: {         ChineseCharFirstSpell:

共享专栏 4136

《生成式AI引发的“认知污染”:社交媒体虚假信息的治理困局》

认知污染与生成式AI“认知污染”指信息环境被大量虚假、误导性内容所充斥,干扰公众对事实的认知判断。在社交媒体时代,虚假信息的生产和传播门槛大幅降低,呈现出工业化、规模化的趋势。近年兴起的生成式人工智能(Generative AI)技术,如大型语言模型(LLM)和深度伪造(deepfake),更是加剧了这一问题。AI可以自动生成看似真实的文本、图像、音视频,将虚假信息批量生产并快速散播到社交平台上。

那谁的博客 5913

Agisoft Metashape相机标定笔记

使用Metashape进行自动相机标定是可能的。(可选:使用打印的棋盘格图案,但需保证它是平坦的且单元格是正方形)。相机标定步骤支持全相机标定矩阵的估计,包含非线性的畸变参数。相机模型的细节请参照附录D——相机模型板块。:在通用的工作流程中,相机标定步骤可以跳过。因为Metashape会在图像定向过程中进行相机自标定。但是,如果定向结果不稳定,例如,由于影像之间缺乏连接点,额外进行单独的相机标定步骤也许是有用的。

天桥飞熊的博客 3977

在网上找了一份HTML阶段测试题,初学者有兴趣可以试下

原文:在网上找了一份HTML阶段测试题,初学者有兴趣可以试下 高考即将来临,我们这些自学的人们也不要闲着,NanShan小编在网上找了一份HTML阶段测试题,有兴趣的可以试下。 1问答题 1.HTML由谁发明?HTML规范由谁制定? 2.HTML的目的是什么? 3.为什么要制定HTML规范? 4.网页、浏览器、网站和网络服务器它们之间的关系是什么? 5.使

纸尿裤排行 5434

WRF后处理:python cartopy绘制土地利用/土地分类图//python绘制WRF下垫面类型(以北极为例)

下垫面类型对于WRF的地表过程十分重要,而在我们研究WRF的地表过程之前,需要对输入的土地利用类型进行一些绘制,以便后续的修改。LU_MODIS21函数定义了绘制的土地类型、标签与对应色标,我们使用时,直接引用LU_MODIS21()即可返回。其实很简单,只要将你拥有的土地类型数据提取出来,将原本函数中的labels和C切片,重新定义色标再绘制即可。在这里,我将以北极地区为例,绘制北极地区的WRF下垫面数据,我使用的MODIS21这类。

weixin_43750300的博客 3860

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非常大,直接算是得...

tb_youth的博客 2863

RIGOL DS1102E示波器新手必看:从开机到捕获第一个波形的5分钟指南

本文为RIGOL DS1102E示波器新手提供了一份快速上手指南。内容涵盖从开机、探头校准到捕获第一个波形的完整流程,重点解析了触发设置、自动测量等核心操作,并指出了探头衰减比设置等常见误区,帮助用户快速掌握这款经典数字示波器的基本使用方法。

dream的博客 740

uni-app - 解决 H5 微信公众号授权登录后,无法回退到 “上一页“ 的问题(微信登录后如何返回到触发它的那一页?无法通过 uni.navigateBack() 返回到前一页的问题?)详细教程

uniappH5微信登录重定向后无法返回到原来进入前的页面了,uni-appH5微信浏览器中授权微信登录后,无法正常回退问题,uniappH5微信登录后怎么返回上一页,uniapp公众号登陆后使用uni.navigateBack()回不去上一页,uniapp微信登录成功后返回页面后一直自动刷新页面,uniapph5授权成功后如何返回上一页,uniappH5微信登录后怎么返回到触发它的那一页去,公众号h5在授权后如何跳转回到刚进入时的页面,微信公众号H5网页返回上一页疑问,解决微信H5静默授

🏆 前端领域优质创作者 7715

关于n!和n^n的数位以及各个位上的数(stirling公式)

推广:求左边第x位只要推公式时将10^(k-1)变为10^(k-x)即可,最后答案取模10。 n^n的位数:k = [lg(n^n)] + 1 = [n * lg(n)] + 1 最左边的数作个位:x = n^n / 10^(k-1) 取对数:lg(x) = n * lg(n) - (k-1) = (n*lg(n) - [n*lg(n)]) 最左边的数:[x] = [10^lg(x)] = [

Everything can be done! 1743

Python 实战:爬取高德地图交通数据(路况拥堵指数分析)

高德地图是由高德软件有限公司开发的一款地图导航产品,提供详细的地图浏览、路线规划、实时路况、公共交通查询等功能。高德地图拥有庞大的用户群体和海量的交通数据,这些数据对于交通管理、城市规划、出行服务等领域具有重要的价值。通过对高德地图交通数据的分析,我们可以了解城市交通的运行状况,识别拥堵路段,预测交通流量,为交通管理部门和出行者提供决策支持。

yansideyucsdn的博客 2688

HDU-1060-最左边的数字

最左边的数字 时间限制:2000/1000 MS(Java / Others)内存限制:65536/32768 K(Java /其他) 提交总数:21868接受提交内容:8465 问题描述 给定正整数N,您应该输出N ^ N的最左边的数字。 输入 输入包含几个测试用例。输入的第一行是单个整数T,它是测试用例的数量。T测试案例如下。 每个测试用例包含一个正整数N(1 <= N <...

fffzlfk的博客 869

RK3568 OpenHarmony3.2 NFC 驱动适配(PN7150)II

承接上文《RK3568 OpenHarmony3.2 NFC 驱动适配(PN7150)I》,继续PN7150 NFC模块的整体适配。本文主要介绍包括HDI实现层、框架层以及设备适配层的代码修改思路。具体包括vendor_adaptor、hdi_service等;以及foundation下的frameworks、services等。此外还包括相关三方库libnfc-nci在鸿蒙平台的移植和适配。需要注意的是,当前nfc适配只是基于作者手上的RK3568平台以及相关OpenHarmony3.2的代码。

Martian_Jonas的博客 1363

读懂 SAP S/4HANA 里的 SAP Fiori 架构:前端服务器、搜索链路、传统应用接入与内容组织全景解析

摘要:SAP Fiori架构并非简单的系统连接图,而是明确区分界面层与业务数据层的三层分工体系:用户交互层(浏览器与Fiori launchpad)、前端技术层(SAPUI5运行环境)和业务数据层(SAP S/4HANA后端)。这种分离实现了生命周期解耦,前端专注于统一体验治理,后端处理核心业务逻辑。值得注意的是,SAP Fiori front-end server本质仍是ABAP系统,负责UI技术组件运行。虽然SAP S/4HANA推荐嵌入式部署,但独立部署在多系统场景中仍有价值。典型Fiori应用通过O

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 180

hdu 1060 n^n的最左边的数

Leftmost Digit Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 43   Accepted Submission(s) : 23 Problem Description Given a positive integer

hnust_xiehonghao的专栏 1212

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

HDU 1060 1061求 n^n 最左边 最右边的数字

求最左边用log m=n^n  log10(m)=nlog10(n) m=10^(nlog10(n)) 10的整数幂第一位是1,那么第一位的数字由小数部分决定 代码如下 #include #include int main() { int t; scanf("%d",&t); while(t--) { __int64 n,b;

lentty1452的专栏 912

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

最左边的数

求n^n最左边的数 分析: 设n^n= d.xxx* 10^ (k-1) ,其中k表示n^n的位数。 那么d.xxx= 10^(log10(n^n)-(k-1)) ,再对d.xxx取整即可获得最终结果。那么k是多少呢? k = log10(n^n)的整数部分+1 = (int)log10(n^n)+1;至此,可以获得d的计算公式为 d = (int)(10^(log10(n^n)-(in

至少努力过 404

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

HDOJ-1060-Leftmost Digit(求n^n的最高位)

Leftmost DigitTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2924    Accepted Submission(s): 1026Problem DescriptionGiven a positive in

轻疯 清风 7822

【New AKOJ】最左边一位数

1237: 最左边一位数 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 1  Solved: 1 原题链接 Description 对于给定的正整数N,输出N^N的最左边一位数。 Input 输入包含多组测试数据。输入的第一行是一个整数T,代表测试组数。随后输入T组测试数据,每组测试数据包含一个

cisordeng's space 693

1088:N的N次方

题目描述 现给你一个正整数N,请问N^N的最左边的数字是什么? 输入格式 输入包含多组测试数据。每组输入一个正整数N(N 输出 对于每组输入,输出N^N的最左边的数字。 样例输入 3 4 样例输出 2 2 #include #include int main() { int n; while(scanf("%d",&n)!=EOF)

Kay 1893

hhuoj:1383 N的N次方

时间限制: 1 Sec 内存限制: 32 MB 题目描述 现给你一个正整数N,请问N^N的最左边的数字是什么? 输入 输入包含多组测试数据。每组输入一个正整数N(N&amp;lt;=1000000)。 输出 对于每组输入,输出N^N的最左边的数字。 样例输入 3 4 样例输出 2 2 思路 n^n = a10^k, k=(int)log10(n^n); log10(n^n)=nlog10n=log10a+...

Waimo的博客 272

(HDU1061||nefu783)&&nefu 66 求N^N的最右边和最左边的数

http://acm.nefu.edu.cn/JudgeOnline/problemshow.php?problem_id=783 http://acm.nefu.edu.cn/JudgeOnline/problemshow.php?problem_id=66

ACM,再见! 1079
上一篇: 【codechef】Chef and Prime Divisors(判断A能否被B的所有素因子整除)
下一篇: 【codechef】Chef and Strange Formula(找规律,灵活题)
ccyy-
博客等级 码龄12年 31粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值