博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第一位数字
阅读量:5039 次
发布时间:2019-06-12

本文共 839 字,大约阅读时间需要 2 分钟。

 

NGB* 魔最近一直被一个问题困扰着,就是对于一个正整数 N, 怎么得出 N^N (N 的 N 次方)的结果,现在他想请你们帮他解决这个问题,由于 N^N 太大了,你们只需要输出第一位数就可以了

 

 

 

N^N = 10^(N*log(N))中, 

由于 N <1000000000, 
N*log(N)取值在[0,9000000000],没有超出double数据的范围,没有益处。 
设N*log(N)的整数部分为intpart,分数部分为fractpart, 
则N^N = 10^(intpart + fractpart) = 10^intpart * 10^fractpart. 
其中10^intpart肯定为10的倍数,不影响结果,可忽略。 
所以: 
10^fractpart的最高位即为结果。

 

#include 
#define ll long longusing namespace std;const int maxn=1e6+5;ll a,b;double n;ll gcd(ll a,ll b){ if(b==0) return a; return gcd(b,a%b);}double fun(double n){ double in,fr,t; fr=modf(n*log10(n),&in); t=pow(10,fr); modf(t,&in); return in;}int main(){ while(scanf("%lf",&n)!=EOF){ if(n-0<1e-10) { return 0; } printf("%.0lf\n",fun(n)); } return 0;}

 

转载于:https://www.cnblogs.com/Diliiiii/p/9818632.html

你可能感兴趣的文章
VueJS ElementUI el-table 的 formatter 和 scope template 不能同时存在
查看>>
Halcon一日一练:图像拼接技术
查看>>
Swift - RotateView
查看>>
iOS设计模式 - 中介者
查看>>
centos jdk 下载
查看>>
HDU 1028 Ignatius and the Princess III(母函数)
查看>>
关于多路复用器的综合结果
查看>>
(转)面向对象最核心的机制——动态绑定(多态)
查看>>
token简单的使用流程。
查看>>
django创建项目流程
查看>>
UIActionSheet 修改字体颜色
查看>>
Vue 框架-01- 入门篇 图文教程
查看>>
Spring注解之@Lazy注解,源码分析和总结
查看>>
多变量微积分笔记24——空间线积分
查看>>
Magento CE使用Redis的配置过程
查看>>
poi操作oracle数据库导出excel文件
查看>>
(转)Intent的基本使用方法总结
查看>>
Mac 下的Chrome 按什么快捷键调出页面调试工具
查看>>
Windows Phone开发(24):启动器与选择器之发送短信
查看>>
JS截取字符串常用方法
查看>>