我想知道怎么求N的N次方

我想知道怎么求N的N次方,这个数据是很大的,但是我要的是这个数据的最高位的数,应该有什么好的方法吧!
请大侠们帮帮忙吧!!(N <1000000000)


这个问题提出后,fallening同学便很快的在五分钟内作出了解答
log_10(N^N)=N*log_10(N) 因此,log_10(N)的第一位就是你要求的:)
我在三楼看的很疑惑,于是向同学提出问题,一天之后他给出解答
N^N=10^(Nlog(N))=10^(log(N))*10^N= 10^(log(N))*1000...0(N个0)
你要最高位置的数字,只需要计算10^(log(N))的最高位即可:)
而到这里,大家很明显就能看出这位同学的推理错误10^(N log(N))= 10^(log(N))*10^N。。。哈哈
哈哈,如果你和我一样开始笑话起这个同学,那么我们就太可悲了。。。
看看楼下的朋友们是怎么做的吧,,

 

hityct1:我的想法:
根据11楼的想法,改动一下。
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的最高位即为结果。

不用大数,double即可满足。 

#include <iostream>
#include <limits>
#include <cmath>
using namespace std;

int GetHighest(const double& n)
{
//求n^n的最高位
//注意:n取 1,2,3,...,1000000000

    double intpart;
    double fractpart = modf ( n * log10(n), &intpart);

    //显然分数部分在[0,1)之间,所以temp在[1,10)之间,那么整数部分即为结果
    double temp = pow( (double)10, fractpart);

    modf ( temp, &intpart);

    return intpart;
}

void main()
{
    //cout<<numeric_limits<double>::max()<<endl;
       
    cout<<GetHighest(1)<<endl;
    cout<<GetHighest(2)<<endl;
    cout<<GetHighest(3)<<endl;
    cout<<GetHighest(4)<<endl;
    cout<<GetHighest(5)<<endl;
    cout<<GetHighest(6)<<endl;
    cout<<GetHighest(4678)<<endl;
    cout<<GetHighest(1000)<<endl;
    cout<<GetHighest(1000000000)<<endl;
    cout<<GetHighest(1999)<<endl;
    cout<<GetHighest(999999999)<<endl;
}


关键看你专注你什么了,所以说少笑话他人,而多想想该做什么事。勤思考,多思考。
这估计也是科学的精神吧,一个人提出一个观点,虽然有点问题,可是大家受到他的启发,通过论证,而最终得到了答案。

转载于:https://www.cnblogs.com/dmesg/archive/2009/08/02/1536997.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496289.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Google提出新型学习范式「Deep Memory」,或将彻底改变机器学习领域

图源&#xff1a;pixabay原文来源&#xff1a;arXiv作者&#xff1a;Sylvain Gelly、Karol Kurach、Marcin Michalski、Xiaohua Zhai「雷克世界」编译&#xff1a;嗯~是阿童木呀、KABUDA导语&#xff1a;最近&#xff0c;Google提出了一种称之为Deep Memory的新型学习范式&…

php内容管理器是什么原因,有什么好的php内容管理后台吗?打算试水接单的大三狗提问...

国外优秀的CMS有drupal, joomla, wordpress, typo3drupal最专业&#xff0c;扩展强大&#xff0c;但最难入门&#xff1b;wordpress最简单&#xff0c;模板多&#xff0c;但难以实现高要求&#xff1b;joomla扩展多&#xff0c;入门简单&#xff0c;但后台组织比较混乱&#xf…

网络 IPC 套接字socket

APUE书中所有实例源码下载地址&#xff1a;http://www.apuebook.com apue学习笔记&#xff08;第十六章 网络IPC&#xff1a;套接字&#xff09;&#xff1a;https://www.cnblogs.com/runnyu/p/4648678.html 一起学 Unix 环境高级编程 (APUE) 之 网络 IPC&#xff1a;套接字…

Spring Data JPA 从入门到精通~事务的处理及其讲解

默认 Transactional 注解式事务 &#xff08;1&#xff09;EnableTransactionManagement 正常情况下&#xff0c;我们是需要在 ApplicationConfig 类加上 EnableTransactionManagement 注解才能开启事务管理。通过 DataSource 的研究步骤 spring.factories 里面默认加载 Tran…

ASP.NET MVC V2 Preview 1 发布 期望VS有更好的表现

ASP.NET MVC V2 Preview 1官方首页&#xff1a;http://aspnet.codeplex.com/ 在这里可以下载 以下是网友的转载&#xff0c;介绍的还是比较详细的&#xff1a; 预览版是在.NET 3.5 SP1和VS 2008下工作的&#xff0c;可与ASP.NET MVC 1.0并行安装在同一个机器上&#xff08;即&a…

MC缓存序列化php,PHP serialize()序列化的使用

PHP serialize()序列化的使用可以将数组和对象直接存入数据库中的某一字段。使serialize()是将数组反序列化再存入数据库&#xff0c;序列化话完的数据就是一个字符串。提取的时候&#xff0c;用unserialize()反序列化取&#xff0c;取出来的还是个数组。$arr array(value1,va…

全球最权威的区块链行业报告

来源&#xff1a;腾讯研究院美国加密货币报道媒体CoinDesk近期发布“全球区块链现状报告”&#xff0c;深入研究了快速发展的加密货币行业及其底层技术&#xff0c;该报告覆盖了公共区块链、企业区块链、ICO、投资以及监管等话题&#xff0c;另外还对3000多名投资者的加密货币投…

Google 的 C++ 代码规范

Google 开源项目风格指南 (中文版)&#xff1a;https://zh-google-styleguide.readthedocs.io/en/latest/ 英文版&#xff1a;http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml 中文版&#xff1a;http://zh-google-styleguide.readthedocs.org/en/latest/goog…

解析/etc/inittab 文件(转)

原文地址&#xff1a;http://hi.baidu.com/fembed/blog/item/62a509f01b2e69aaa40f528c.htmlinit程序需要读取配置文件/etc/inittab。inittab是一个不可执行的文本文件&#xff0c;它有若干行指令所组成。在Redhat系统中&#xff0c;inittab的内容如下所示(以“###"开始的…

Spring Data JPA 从入门到精通~如何配置多数据源

如何配置多数据源 在 application.properties 中定义两个 DataSource 定义两个 DataSource 用来读取 application.properties 中的不同配置。如下例子中&#xff0c;主数据源配置为 spring.datasource.one 开头的配置&#xff0c;第二数据源配置为 spring.datasource.two 开头…

NASA投资有远景技术,有望改变未来人类和机器人的勘探任务

来源&#xff1a; 机器人创新生态据NASA官网报道&#xff0c;美国宇航局(NASA)正在投资有远见的技术概念&#xff0c;包括流星撞击探测、太空望远镜群以及细小轨道碎片测绘技术&#xff0c;这些技术将来可能被用于未来的太空探索任务中。美国宇航局已经选出25个还处于早期的技术…

feedback.php,feedback.php

Feedback | Training Labif (!isset($_SESSION[username])) {header(Location: index.php#loginSub);}if($_GET){//查询require_once DAO.php;$dbnew DB();$data[fb_id] $_GET[feedbackid];$judge[fb_id] ;list($conSql, $mapConData) $db->FDFields($data,"",…

2008中国软件企业出口(外包)20强

2008中国软件企业出口20强 1 东软集团股份有限公司 2 大连华信计算机技术股份有限公司 3 海辉软件(国际)集团 4 浙大网新科技股份有限公司 5 中软国际有限公司 6 北大方正集团有限公司 7 上海中和软件有限公司 8 日电卓越软件科技(北京)有限公司 9 上海海隆软件股份有限公司 10…

人工智能如何影响社会经济:关于近期文献的一个综述

作者&#xff1a;陈永伟 文章来源&#xff1a;经济学原理 相比于之前的历次技术进步&#xff0c;“人工智能革命”所引发的冲击更为巨大&#xff0c;其对经济学造成的影响也将更为广泛和深远。人工智能技术的突飞猛进&#xff0c;对经济社会的各个领域都产生了重大影响&#…

oracle近似查找,距离内的Oracle空间搜索

对于mySQL距离搜索,你有很好的参考.忘记Oracle Spatial的东西.代码太多,复杂性太大,没有足够的增值.这是一个可以解决问题的查询.这使用法定里程的距离.编辑这修复了mdarwin提到的错误,如果你试图将它用于北极或南极的位置,则以划分检查为代价.SELECT id, city, LATITUDE, LONG…

Spring Data JPA 从入门到精通~Naming命名策略详解及其实践

Naming 命名策略详解及其实践 用 JPA 离不开 Entity 实体&#xff0c;我都知道实体里面有字段映射&#xff0c;而字段映射的方法有两种&#xff1a; 显式命名&#xff1a;在映射配置时&#xff0c;设置的数据库表名、列名等&#xff0c;就是进行显式命名&#xff0c;即通过 C…

C 和 C++ 字符串格式化

--------------------------------------------------------------------------------- gcc中格式化输出函数的研究&#xff1a;http://blog.csdn.net/dai_xiangjun/article/details/41356723 C语言格式化输出小结&#xff1a;http://blog.51cto.com/happyliu/1621709 代码如…

转载(四).Net Framework中的委托与事件

尽管 &#xff08;委托、事件与Observer设计模式 &#xff09;中的范例很好地完成了我们想要完成的工作&#xff0c;但是我们不仅疑惑&#xff1a;为什么.Net Framework 中的事件模型和上面的不同&#xff1f;为什么有很多的EventArgs参数&#xff1f; 在回答上面的问题之前&am…

激光雷达:从光电技术角度看自动驾驶

来源&#xff1a; 传感器技术激光雷达和与之竞争的传感器技术&#xff08;相机、雷达和超声波&#xff09;加强了对传感器融合的需要&#xff0c;也对认真谨慎地选择光电探测器、光源和MEMS振镜提出了更高的要求。传感器技术、成像、雷达、光探测技术及测距技术&#xff08;激光…

Spring Data JPA 从入门到精通~定义查询方法的配置方法

定义查询方法的配置方法 由于 Spring JPA Repository 的实现原理是采用动态代理的机制&#xff0c;所以我们介绍两种定义查询方法&#xff0c;从方法名称中可以指定特定用于存储的查询和更新&#xff0c;或通过使用 Query 手动定义的查询&#xff0c;取决于实际对数据的操作&a…