你也可以是“中国雨人-周玮”

妙算16位数的开14次方,是不是很神奇? 不用羡慕嫉妒恨,你也可以的!

任意给16位数字,然后记住下面的速算表,按照前3个数字在表里查找,把对应的三位数字报出来就行了!

100 ==>> 13.9
101 ==>> 13.9
112 ==>> 14.0
123 ==>> 14.1
136 ==>> 14.2
150 ==>> 14.3
165 ==>> 14.4
182 ==>> 14.5
200 ==>> 14.6
221 ==>> 14.7
242 ==>> 14.8
266 ==>> 14.9
292 ==>> 15.0
321 ==>> 15.1
352 ==>> 15.2
386 ==>> 15.3
422 ==>> 15.4
463 ==>> 15.5
506 ==>> 15.6
553 ==>> 15.7
605 ==>> 15.8
661 ==>> 15.9
721 ==>> 16.0
787 ==>> 16.1
858 ==>> 16.2
935 ==>> 16.3

比如任意一个数:576(12345678901234)后半部为了显著告诉大家是14位数,那么它的14次方为15.7

抱歉,做完才发现咱们这个是17位数的开14次方….超过手指头的天马很容易弄错,那我们再来16位数字的:

10 ==>> 11.8
11 ==>> 11.9
12 ==>> 11.9
13 ==>> 12.0
15 ==>> 12.1
17 ==>> 12.2
19 ==>> 12.3
21 ==>> 12.4
23 ==>> 12.5
26 ==>> 12.6
29 ==>> 12.7
32 ==>> 12.8
36 ==>> 12.9
40 ==>> 13.0
44 ==>> 13.1
49 ==>> 13.2
55 ==>> 13.3
61 ==>> 13.4
67 ==>> 13.5
75 ==>> 13.6
83 ==>> 13.7
91 ==>> 13.8

因此16位的更简单,只要看头2个数字,就能对照表查出结果!

比如 用我们常用的电话号码开头,写一串16位数字:

13(01234567891234),查表得知结果为12.0 !乌拉,新的中国雨人诞生啦!

查的时候,如果落在中间的,比如90,落在83和91之间,那么取上面一档,也就是83对应的13.7

灵感见这里:

http://blog.sina.com.cn/s/blog_474068790102eco7.html

源码见这里:

#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;

int main()
{
float tmp;
int x=0,y=0;
for (int i =100;i<1000;i++)

{
tmp=pow(i,1.0/14);
x=tmp*100;
if (x>y) {
cout << fixed << setprecision(1);
cout << i << ” ==>> ” << tmp*10 << endl;
y=x;
}}

y=0;
for (int i =10;i<100;i++)

{
tmp=pow(i,1.0/14);
x=tmp*100;
if (x>y) {
cout << fixed << setprecision(1);
cout << i << ” ==>> ” << tmp*10 << endl;
y=x;
}}

return 0;

}

思路就是,一个大数N的X次开方,首先可以截断X以及X的(x)倍数位,这样大数开方,就变成短数N的开方再乘以x个10 。比如 13(01234567891234) 就变成了求13的14次方根再乘以10 !

大家记住这个表吧:

100 ==>> 13.9
101 ==>> 13.9
112 ==>> 14.0
123 ==>> 14.1
136 ==>> 14.2
150 ==>> 14.3
165 ==>> 14.4
182 ==>> 14.5
200 ==>> 14.6
221 ==>> 14.7
242 ==>> 14.8
266 ==>> 14.9
292 ==>> 15.0
321 ==>> 15.1
352 ==>> 15.2
386 ==>> 15.3
422 ==>> 15.4
463 ==>> 15.5
506 ==>> 15.6
553 ==>> 15.7
605 ==>> 15.8
661 ==>> 15.9
721 ==>> 16.0
787 ==>> 16.1
858 ==>> 16.2
935 ==>> 16.3
10 ==>> 11.8
11 ==>> 11.9
12 ==>> 11.9
13 ==>> 12.0
15 ==>> 12.1
17 ==>> 12.2
19 ==>> 12.3
21 ==>> 12.4
23 ==>> 12.5
26 ==>> 12.6
29 ==>> 12.7
32 ==>> 12.8
36 ==>> 12.9
40 ==>> 13.0
44 ==>> 13.1
49 ==>> 13.2
55 ==>> 13.3
61 ==>> 13.4
67 ==>> 13.5
75 ==>> 13.6
83 ==>> 13.7
91 ==>> 13.8

 

最全的是这个,15/16/17位数字的14次开方速算表(15位的不太精确):

1 ==>> 10.0
2 ==>> 10.5
3 ==>> 10.8
4 ==>> 11.0
5 ==>> 11.2
6 ==>> 11.4
7 ==>> 11.5
8 ==>> 11.6
10 ==>> 11.8
11 ==>> 11.9
12 ==>> 11.9
13 ==>> 12.0
15 ==>> 12.1
17 ==>> 12.2
19 ==>> 12.3
21 ==>> 12.4
23 ==>> 12.5
26 ==>> 12.6
29 ==>> 12.7
32 ==>> 12.8
36 ==>> 12.9
40 ==>> 13.0
44 ==>> 13.1
49 ==>> 13.2
55 ==>> 13.3
61 ==>> 13.4
67 ==>> 13.5
75 ==>> 13.6
83 ==>> 13.7
91 ==>> 13.8
101 ==>> 13.9
112 ==>> 14.0
123 ==>> 14.1
136 ==>> 14.2
150 ==>> 14.3
165 ==>> 14.4
182 ==>> 14.5
200 ==>> 14.6
221 ==>> 14.7
242 ==>> 14.8
266 ==>> 14.9
292 ==>> 15.0
321 ==>> 15.1
352 ==>> 15.2
386 ==>> 15.3
422 ==>> 15.4
463 ==>> 15.5
506 ==>> 15.6
553 ==>> 15.7
605 ==>> 15.8
661 ==>> 15.9
721 ==>> 16.0
787 ==>> 16.1
858 ==>> 16.2
935 ==>> 16.3

 

2014.4.3日补充:

关于第三题,那个128 乘以 (3.2的13次方根) 再乘以10的题目,我一直没想明白怎么算,因为他的结果是1400左右,这样模糊的数字,掩盖了其中的运算细节,让人不容易猜透。

不过天马想到一种速算方法了,思路就是:

把128 乘到方根里面去,然后再开方!

细节就是:128=1.28×10^2 =(1.28^13) 开13次方根 × 100

而13次方根,我也可以拿出一张速算表,反推1.28 ,得到一个值x=25,我先用计算器的出来了。

然后

x 乘以3.2=800,再查表,800对应14.0这样答案是1400附近

 

上面有点问题,看来要拆成0.128×1000 ,查0.128的13次方根,再乘以3.2,查表出1.4左右,更合理!

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>