如何计算a的b次幂的前n位数字?

更新于
2026-07-29 09:34:33
18阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计375个文字,预计阅读时间需要2分钟。

如何计算a的b次幂的前n位数字?

要求a^b的前n位,其中a、b为整数,1+求a^b的前n位+其 中a、b+1+思路是a^b会非常大,如果只需前n位,那么我们可以将a^b除以10^n,这样就能得到前n位。具体步骤如下:

1. 计算10^n。

2.将a^b除以10^n。

3.取得商的前n位,即为所求。

例如,要求2^10的前3位:

1. 10^3=1000。

2.2^10=1024。

3.1024 / 1000=1.024。

4.取前3位,结果为102。

这样,我们就可以使用double(或long double)来表示a^b的前n位了。

求a^b的前n位其中a,b为整型,1 求a^b的前n位

其中a, b 为整型, 1

思路是a^b会很大,那么如果只需要前n位,那么我们可以把a^b除以10^x(10^x同样很大),这样就可以达到一个可以使用double(或long double)表示的数据p,

p的前n位会与a^b的前n位相同.

那么当a^b的位数

当a^b位数>n时,取m log10(a^b) b*log10(a),m可以使用double表示.

a^b约等于pow(10.0,m).

但是对于m的整数部分x,10^x是10000形式,对我们所求的结果没有意义,那么可以只使用m的小数部分.

设mxy(x为整数部分,y为小数),

则10^y 10^(m-x) (10^m)/(10^x)(a^b)/(10^x), 即above讲的把a^b除以10^x.

ans 10^(n-1y).

习题:

HDOJ_1568

UVa_10236

UVa_11029

:-)

posted on 2011-09-21 13:01 Jackiesteed 阅读(...) 评论(...) 编辑 收藏

转:www.cnblogs.com/jackiesteed/articles/2183791.html

如何计算a的b次幂的前n位数字?

本文共计375个文字,预计阅读时间需要2分钟。

如何计算a的b次幂的前n位数字?

要求a^b的前n位,其中a、b为整数,1+求a^b的前n位+其 中a、b+1+思路是a^b会非常大,如果只需前n位,那么我们可以将a^b除以10^n,这样就能得到前n位。具体步骤如下:

1. 计算10^n。

2.将a^b除以10^n。

3.取得商的前n位,即为所求。

例如,要求2^10的前3位:

1. 10^3=1000。

2.2^10=1024。

3.1024 / 1000=1.024。

4.取前3位,结果为102。

这样,我们就可以使用double(或long double)来表示a^b的前n位了。

求a^b的前n位其中a,b为整型,1 求a^b的前n位

其中a, b 为整型, 1

思路是a^b会很大,那么如果只需要前n位,那么我们可以把a^b除以10^x(10^x同样很大),这样就可以达到一个可以使用double(或long double)表示的数据p,

p的前n位会与a^b的前n位相同.

那么当a^b的位数

当a^b位数>n时,取m log10(a^b) b*log10(a),m可以使用double表示.

a^b约等于pow(10.0,m).

但是对于m的整数部分x,10^x是10000形式,对我们所求的结果没有意义,那么可以只使用m的小数部分.

设mxy(x为整数部分,y为小数),

则10^y 10^(m-x) (10^m)/(10^x)(a^b)/(10^x), 即above讲的把a^b除以10^x.

ans 10^(n-1y).

习题:

HDOJ_1568

UVa_10236

UVa_11029

:-)

posted on 2011-09-21 13:01 Jackiesteed 阅读(...) 评论(...) 编辑 收藏

转:www.cnblogs.com/jackiesteed/articles/2183791.html

如何计算a的b次幂的前n位数字?