0.5的n次幂。如何能够快速的计算。

问题描述

我需要用javacode计算0.5的n次幂之和。n这个数会很大。有没有什么好的解决方案。请高手帮忙指点下思路。非常感谢。

时间: 2024-08-31 07:08:24

0.5的n次幂。如何能够快速的计算。的相关文章

《Spring 3.0就这么简单》——第1章 快速入门 1.1 Spring概述

第1章 快速入门 本章通过一个简单的例子展现开发Spring Web应用的整体过程,通过这个实例,读者可以快速进入Spring Web应用的世界.实例应用按持久层.业务层和展现层进行组织,从底层DAO程序到Web展现程序逐层演进,一步步地搭建起一个完整的实例.通过本章的学习,读者可以独立完成一个典型的基于Spring的Web应用. 本章主要内容: Spring 概述 用户登录实例介绍 基于 Spring JDBC 的持久层实现 基于 Spring 声明式事务的业务层实现 基于 Spring MV

《FLUENT 14.0超级学习手册》——第1章 流体力学与计算流体力学基础1.1 流体力学基础

第1章 流体力学与计算流体力学基础 FLUENT 14.0超级学习手册 流体力学是力学的一个重要分支,它主要研究流体本身的静止状态和运动状态 ,以及流体和固体界壁间有相对运动时的相互作用和流动的规律,在生活.环保.科学技术 及工程中具有重要的应用价值. 计算流体力学或计算流体动力学(Computational Fluid Dynamics, CFD),是用电子计算机和离散化的数值方法对流体力学问题进行数值模拟和分析的一个分支. 本章先介绍流体力学中支配流体流动的基本物理定律,然后在此基础上介绍用

快速幂取模算法

所谓的快速幂,实际上是快速幂取模的缩写,简单的说,就是快速的求一个幂式的模(余).在程序设计过程中,经常要去求一些大数对于某个数的余数,为了得到更快.计算范围更大的算法,产生了快速幂取模算法.我们先从简单的例子入手:求abmodc 算法1.直接设计这个算法: int ans = 1; for(int i = 1;i<=b;i++) { ans = ans * a; } ans = ans % c; 缺点:这个算法存在着明显的问题,如果a和b过大,很容易就会溢出. 我们先来看看第一个改进方案:在讲

求高精度幂

POJ 1001 – Exponentiation 求高精度幂 时间限制:500毫秒            内存限制:10000KB [问题描述] 对数值很大.精度很高的数进行高精度计算是一类十分常见的问题.比如,对国债进行计算就是属于这类问题. 现在要你解决的问题是:对一个实数R(0.0 < R < 99.999),要求写出程序精确计算R的n次方(Rn),其中n是整数并且0 < n <= 25. [输入格式] 输入包括多组R和n.R的值占第1到第6列,n的值占第8和第9列. [输

OpenGL ES 2.0 GLU 工具库用来找回 1.1 的便利店

OpenGL ES 2.0 GLU 工具库用来找回 1.1 的便利店 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. OpenGL Utility Library for iPhone OS 简

C语言快速幂取模算法小结_C 语言

本文实例汇总了C语言实现的快速幂取模算法,是比较常见的算法.分享给大家供大家参考之用.具体如下: 首先,所谓的快速幂,实际上是快速幂取模的缩写,简单的说,就是快速的求一个幂式的模(余).在程序设计过程中,经常要去求一些大数对于某个数的余数,为了得到更快.计算范围更大的算法,产生了快速幂取模算法.我们先从简单的例子入手:求abmodc 算法1.直接设计这个算法: int ans = 1; for(int i = 1;i<=b;i++) { ans = ans * a; } ans = ans %

C++快速幂与大数取模算法示例_C 语言

一.快速幂 其实就是求(a^b)% p ,(其中a,b,p都比较大在int范围内)这类问题. 首先要知道取余的公式: (a*b)%p=(a%p*b%p)%p . 那么幂不就是乘机的累积吗,由此给出代码: int fast(int a,int b,int p) { long long a1=a,t=1; while(b>0) { if(b&1) /如果幂b是奇数多乘一次,因为后边会除2变偶数,(7/2=3) t=(t%p)*(a1%p)%p; a1=(a1%p)*(a1%p)%p; b/=2;

算法训练 2的次幂表示

问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001. 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 现在约定幂次用括号来表示,即a^b表示为a(b) 此时,137可表示为:2(7)+2(3)+2(0) 进一步:7=2^2+2+2^0 (2^1用2表示) 3=2+2^0 所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0) 又如:1315=2^10+2^8+2^5+2+

c语言-这个C语言多项式就和问题,精确度不是太会。为啥就相差0.000512。请详细说明

问题描述 这个C语言多项式就和问题,精确度不是太会.为啥就相差0.000512.请详细说明 解决方案 改用double 调整计算顺序,不要先乘再除,尽量避免乘除法的精度损失 解决方案二: #include <iostream> using namespace std; double f1(int n) { double r = 1; for (int i = 2; i <= n; i++) r *= (double)i; return r; } double f2(double x, i