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

//

//

 

//[]========================[]

//[]  验证成功,完全成功  []

//[]========================[]