clear
? "验证 a/(b+c) + b/(a+c) +
c/(a+b) = 4"
? "已有网上答案a, b, c分别下面10进制的值"
? "但是有人说下面的数据计算结果不是整数4"
? "而是4.0000000001800191239488843569645"
? "本人认为其验证方法错误,很明显"
? "使用除法验证容易产生误差,正确的做法是"
? "左右两边乘以一个数,验证是否相等"
? "本脚本将左右两边分别乘以(b+c)(a+c)(a+b"
a = 0154476802108746166441951315019919837485664325669565431700026634898253202035277999
b = 36875131794129999827197811565225474825492979968971970996283137471637224634055579
c = 04373612677928697257861252602371390152816537558161613618621437993378423467772036
? "+--------------------------------------+"
? "| 10进制转16进制,因为api都是16进制的 |"
? "+--------------------------------------+"
a = int2hex( $a )
b = int2hex( $b )
c = int2hex( $c )
? "+--------------------------------------+"
? "| 设 bc = b + c
|"
? "| ac = a + c
|"
? "| ab = a + b
|"
? "+--------------------------------------+"
bc = big_add( $b, $c ) // b + c
ac = big_add( $a, $c ) // a + c
ab = big_add( $a, $b ) // a + b
? "+-------------------------------------------------+"
? "| 给分母都乘以( b+c )*( a+b )*( a+c )
|"
? "| = 给分母都乘以 bc*ab*ac
|"
? "| 得到a*ac*ab + b*ab*bc + c*ac*bc =
4*(ab*ac*bc) |"
? "+-------------------------------------------------+"
split
? "t1 = a *(a+c)*(a+b)"
t1 = big_mul( $a, $ac )
t1 = big_mul( $t1, $ab )
? "t2 = b *(a+b)*(b+c)"
t2 = big_mul( $b, $ab )
t2 = big_mul( $t2, $bc )
? "t3 = c *(a+c)*(b+c)"
t3 = big_mul( $c, $ac )
t3 = big_mul( $t3, $bc )
? "+----------------------------------+"
? "| x = t1 + t2 + t3
|"
? "| x = a*ac*ab + b*ab*bc + c*ac*bc |"
? "+----------------------------------+"
x = big_add( $t1, $t2 )
x = big_add( $x, $t3 )
? "t4 = ac * ab * bc"
t4 = big_mul( $ac, $ab )
t4 = big_mul( $t4, $bc )
? "t4 = 4 * t4"
y = big_mul( $t4, 04 )
compare $x, $y
if $x == $y
? "验证成功,完全成功"
else
? "验证失败"
endif
----------------------------------------------------------------------------------
//[]============================================[]
//[] 验证 a/(b+c) + b/(a+c) + c/(a+b) = 4 []
//[] 已有网上答案a, b, c分别下面10进制的值 []
//[] 但是有人说下面的数据计算结果不是整数4 []
//[] 而是4.0000000001800191239488843569645 []
//[] 本人认为其验证方法错误,很明显
[]
//[] 使用除法验证容易产生误差,正确的做法是 []
//[] 左右两边乘以一个数,验证是否相等
[]
//[] 本脚本将左右两边分别乘以(b+c)(a+c)(a+b)
[]
//[]============================================[]
//a
= 0154476802108746166441951315019919837485664325669565431700026634898253202035277999
//b
= 36875131794129999827197811565225474825492979968971970996283137471637224634055579
//c
= 04373612677928697257861252602371390152816537558161613618621437993378423467772036
//[]==============================================[]
//[] +--------------------------------------+
[]
//[] |10进制转16进制,因为api都是16进制的
| []
//[] +--------------------------------------+
[]
//[]==============================================[]
//a
= 053616739052D95C788D8C2185B2185705489C6270CC445D471B8B7DFA4C6F9380AF
//b
= 013E75B8F845F67C534D48071EE7BC69379346CE4229F67D639BCB26DC3E788DFB9B
//c
= 25C5710D38F9E06406115B0415FD002559F7EE8B130072A931D19DF23FF4298884
//[]==============================================[]
//[] +--------------------------------------+
[]
//[] | 设 bc
= b + c
| []
//[] | ac = a + c
| []
//[] | ab = a + b
| []
//[] +--------------------------------------+
[]
//[]==============================================[]
//bc
= 01643B2A057EF05CB753596222FDB9695CED3EBCCD3CF6F00CCD9CC4CE7E6CB7841F
//ac
= 055BDBE49D8BD33CDC939D7C89C815572AA29450FBDF44CFF04D5D1BEC8C63BD0933
//ab
= 06748C2C8898CFD8CBDAD428A499D4C03CDBE330B2F63ADAAAB756A4D68AE8217C4A
//[]=========================================================[]
//[] +-------------------------------------------------+
[]
//[] | 给分母都乘以(
b+c )*( a+b )*( a+c )
| []
//[] | = 给分母都乘以
bc*ab*ac
| []
//[] | 得到a*ac*ab
+ b*ab*bc + c*ac*bc = 4*(ab*ac*bc)| []
//[] +-------------------------------------------------+
[]
//[]=========================================================[]
//[]=========================[]
//[] t1 = a *(a+c)*(a+b) []
//[]=========================[]
//t1
= 1BED24297BCB855DE37B6CAD57BF66F015F315BF255FAB9E2481BBE27EF78B8E52F521C4AB0D93E84378AF1EE5979D6B50F348B94CF9D2041B4DCBB63AAB84181BC9DD
//t1
= B44597E7226ADD1EC0D5917DDA5044D32BDCA1C21059C7C5FAE3CAA4CC69DB6BEC76B42F36B34E471EBBAA447C63AAA42B3FAFD6C8DDEDA96F1BEA73B9ACDF1430B7EA32964F92CFABFF24CFA2E319C28A58E5C933CEAF453DD08A1BB3376983BB4C65E2
//[]=========================[]
//[] t2 = b *(a+b)*(b+c) []
//[]=========================[]
//t2
= 0807BE0D6973AE41B5FA81AE77F544EF259E1103DE10D1C77CEDB96000FE95AA4F964B1AAF20FE4AF9E4A7A8D453DE1DEAD651B05C4A36EDD452C67B61565385E4CECE
//t2
= 0B2C9F64E50C6F41E2FB464D4E46F91D74CFE4C8B0CAF255E2365405ACCCD332C174A307DC5C56145FE7364809F756F7E50C2DA04BB787584356B87D2EBDC9724D3E179742A5D46D4AC8C82126201760D4C16B1453C5FFC2014887AAF63D5059EE9942F2
//[]=========================[]
//[] t3 = c *(a+c)*(b+c) []
//[]=========================[]
//t3
= CA68D6149DD96D6E4CF155E998CAA38E0F41C242AE97F5A1D60A93493FF331EE6D417CF632B8887F8021AE75955C31544CFF12299C0025FD62530F1B2CF7EF86D64C
//t3
= 0119A891178DCBF28BD56AAD7B81FBB1AF485C8F1749992A747F8861D2B20FB0C4F1FDD1DB0687425000BF017DD87794BEECAED541AA3C9CC1679AD1402E120BCAFCDC1781CCCF07DAB4119263BF6BA7BA90067964BD386175BF5CB35CC206BAC8272334
//[]==========================================[]
//[] +----------------------------------+ 
[]
//[] | x =
t1 + t2 + t3
| []
//[] | x =
a*ac*ab + b*ab*bc + c*ac*bc| []
//[] +----------------------------------+
[]
//[]==========================================[]
//x
= BF72374C07774C60A3D0D7CB28973DF0A0AC868AC124BA1BDD1A1EAA7936AE9EADEB5737130FA45B7EA2E08C865B019C104BDD7714957501B272A2F0E86AA8867DF601C9D8F5673CF6C7ECF0C90331235F1A50DD8794AF073F1911C6A974B9DDA9E5A8D4
//x
= C08BDFDD1F0518532FA64278A41939A24FF4E319D86E53465199A70C4BE8BE4F72DD5508EE162B9DCEA39F8E04337930CF388C4C563FB19E73DA3DC22898BA9248F2DDE15AC23644D17BFE832CC29CCB19AA5756EC51E768B4D86E7A0636C098720CCC08
//[]=======================[]
//[] t4 = ac * ab * bc []
//[]=======================[]
//t4
= 2297B62A2F7B788450A33A1FC3E9EC7AEF8D8649DBCA2A35C9EA8DE4D026B569676DAC712D60D108BDEF27B75E546627F4C5575429E3FF26C2F522F9662416CCAC5CBE
//t4
= 3022F7F747C14614CBE9909E29064E6893FD38C6761B94D1946669C312FA2F93DCB755423B858AE773A8E7E3810CDE4C33CE2313158FEC679CF68F708A262EA4923CB77856B08D91345EFFA0CB30A732C66A95D5BB1479DA2D361B9E818DB0261C833302
//[]=================[]
//[] t4 = 4 * t4 []
//[]=================[]
//y
= C08BDFDD1F0518532FA64278A41939A24FF4E319D86E53465199A70C4BE8BE4F72DD5508EE162B9DCEA39F8E04337930CF388C4C563FB19E73DA3DC22898BA9248F2DDE15AC23644D17BFE832CC29CCB19AA5756EC51E768B4D86E7A0636C098720CCC08
//-------------------- Compare -------------------
//-------00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ----
00 01 02 03 04 05 06 07 08 09 0A
0B 0C 0D 0E 0F
//0000 C0 8B DF DD 1F 05 18 53 2F A6 42
78 A4 19 39 A2 ----
C0 8B DF DD 1F 05 18 53 2F A6 42
78 A4 19 39 A2
//0010 4F F4 E3 19 D8 6E 53 46 51 99 A7
0C 4B E8 BE 4F ----
4F F4 E3 19 D8 6E 53 46 51 99 A7
0C 4B E8 BE 4F
//0020 72 DD 55 08 EE 16 2B 9D CE A3 9F
8E 04 33 79 30 ----
72 DD 55 08 EE 16 2B 9D CE A3 9F
8E 04 33 79 30
//0030 CF 38 8C 4C 56 3F B1 9E 73 DA 3D
C2 28 98 BA 92 ----
CF 38 8C 4C 56 3F B1 9E 73 DA 3D
C2 28 98 BA 92
//0040 48 F2 DD E1 5A C2 36 44 D1 7B FE
83 2C C2 9C CB ----
48 F2 DD E1 5A C2 36 44 D1 7B FE
83 2C C2 9C CB
//0050 19 AA 57 56 EC 51 E7 68 B4 D8 6E
7A 06 36 C0 98 ----
19 AA 57 56 EC 51 E7 68 B4 D8 6E
7A 06 36 C0 98
//0060 72 0C CC 08 ---- 72 0C CC 08
//
//
//[]========================[]
//[] 验证成功,完全成功 []
//[]========================[]