Bitte nachrechnen
-
Ich schreibe gerade eine Klasse für große natürliche Zahlen und bin mir zwar ziemlich sicher, dass sie korrekt rechnet, will aber zur Sicherheit bitten, dass jemand folgende Rechnung verifiziert:
00003A9E00003BF600005F3200001A4900003E1200005CFD00006B360000587800004B40000022EE 000023500000759A0000012000000732000056AE00000BDB0000301C0000030A00006B890000260D 000022130000323B00004E4500007FF500007F9600006BFC000063CB00001AD400006E5D00001E1F 00003B2500001238000045090000767D00007A5A00005D030000701F000026A60000428B000066BB 0000644300004DC80000074D00002D12000039B3000054DE0000154700004DB700004D060000491C 0000440D0000305E000001240000009900000F3E0000390C00007E870000153C000012DB00002EA6 00000BB3000001EB000026E9000041BB00005AF100006DF10000164900005F9000006952000072AE 00002CD600003D6C00004AE100006784000018BE0000482300000029 * 000032E600006B7200006 172000019160000489C00005E9D0000261E00007DD1000022CD00003A610000288F00006C6900002 FFF00003C6100002C4900004657000075EF0000798300000D660000368E000054DC0000422D00000 47E00006AD600002F1400000FBF00003CD600005C67000060BF00005753000048CC000023C900003 3EA00005DB200004080000013E900003CD500006899000016C50000187E00004A800000692C00007 0490000139D0000577200007BB90000090200003699000026CA000058B0000073DA0000121F00007 98B000012E10000409D000059910000082200003EF600005422000015A100002C3B0000603200007 EB700004230000066C40000366B00001CD00000136600002E400000494400004DF200005E1400003 14F00004CAD00000DDC00005F490000797D = 0BA785F424860F604267C8D449BF8AFA521C2B5E668B3DEE906F5E52B8706F0AB4F1F1AFCC3DB7 DAB5D4B6F4E38B46ADF80BD62AFA0CA4AAD0B0986F0587471316FFD1B30EAC688F44DDF35330F82E 2D2F226682592FFB526C016B47940BEA8B87A01E5EDF5B7BB0AF9CB70AE4833B10EF96EC72FE95B4 A6216A56B91C3C97F4FCE4BD8932B263CB92DC7FEAB7A4D171506EF978B3BB8F11A8100C7FE59D5A 97D9E2053F228C0082F26AC394F1C6C99C0516AF3631D0CBE720F77AD04B71A2B4392A4C4A60515E BD8822CC34CD48042BC63A1C99610FA4645D3799BDB7C59946F3F79F068B4BA6AA8EEC28FF88CC6B ECCCDAD572BC3E9BBEA963124B25D15E42F9D8F46317A323DA609A26B530BCE7657B3D317769D80F 9F84A172175CBE16B8A0CCB4C8D3524AD1841762CCECDF8EA40101315DC14EC93FC82DD77E703A48 21CEFE79D451A4FE6E7B19C2FE483089756F78B7844EC786C03C5B29F3FA5CC6CF0750060EF604FD 69E5180D49A971CCCACEA51846A85248C2A6AD4A35A0C76D00C618ADD3BEBE8A5EA94FA9857D813A E26900E4D56E3AEE6600380330E6C66A78EBD90157FF343219D53B1F588EBECEE2CD6CA053012C85 2FB19BA18D873E8E0670B3A1704F0449D859F4C3D90CBC685E0D57C8DC316F06F7EBA8128AEC83D2 1CFEF6FEB3AEC6F151915E90D29169CC4B7F3B59CB9EF60F6A83C25FDC884D0FF03662BAA94EAD47 544A1F93695470967248E745602A6AC6F21E15413220E509F20622E6720974FF0300EE316FF53566 71F71F4391CC9D1335B3C807C1C32E3D16C2293D7393E777676E8585FA53FCB3BC610A5C173E498C 6B2699A9FD224B06C800137505
Alle Zahlen sind zur Basis 16.
-
Hallo ... also ich hab's grade eben nochmal nachrechnen lassen:
BA785F424860F604267C8D449BF8AFA521C2B5E668B3DEE906F5E52B8706F0AB4F1F1AFCC3DB7DAB5D4B6F4E38B46ADF80BD62AFA0CA4AAD0B0986F0587471316F FD1B30EAC688F44DDF35330F82E2D2F226682592FFB526C016B47940BEA8B87A01E5EDF5B7BB0AF9CB70AE4833B10EF96EC72FE95B4A6216A56B91C3C97F4FCE4B D8932B263CB92DC7FEAB7A4D171506EF978B3BB8F11A8100C7FE59D5A97D9E2053F228C0082F26AC394F1C6C99C0516AF3631D0CBE720F77AD04B71A2B4392A4C4 A60515EBD8822CC34CD48042BC63A1C99610FA4645D3799BDB7C59946F3F79F068B4BA6AA8EEC28FF88CC6BECCCDAD572BC3E9BBEA963124B25D15E42F9D8F4631 7A323DA609A26B530BCE7657B3D317769D80F9F84A172175CBE16B8A0CCB4C8D3524AD1841762CCECDF8EA40101315DC14EC93FC82DD77E703A4821CEFE79D451A 4FE6E7B19C2FE483089756F78B7844EC786C03C5B29F3FA5CC6CF0750060EF604FD69E5180D49A971CCCACEA51846A85248C2A6AD4A35A0C76D00C618ADD3BEBE8 A5EA94FA9857D813AE26900E4D56E3AEE6600380330E6C66A78EBD90157FF343219D53B1F588EBECEE2CD6CA053012C852FB19BA18D873E8E0670B3A1704F0449D 859F4C3D90CBC685E0D57C8DC316F06F7EBA8128AEC83D21CFEF6FEB3AEC6F151915E90D29169CC4B7F3B59CB9EF60F6A83C25FDC884D0FF03662BAA94EAD47544 A1F93695470967248E745602A6AC6F21E15413220E509F20622E6720974FF0300EE316FF5356671F71F4391CC9D1335B3C807C1C32E3D16C2293D7393E777676E8 585FA53FCB3BC610A5C173E498C6B2699A9FD224B06C800137505
Dein Programm sollte stimmen...
Aber das nächste mal tut's bestimmt eine Zahl kleiner 2440 bit auch...
-
Vielen Dank!
mady schrieb:
Aber das nächste mal tut's bestimmt eine Zahl kleiner 2440 bit auch...
Eigentlich plane ich für 4096 bit :).
EDIT: Halte mich nicht für paranoid, aber stimmt
00003A9E00003BF600005F3200001A4900003E1200005CFD00006B360000587800004B40000022EE 000023500000759A0000012000000732000056AE00000BDB0000301C0000030A00006B890000260D 000022130000323B00004E4500007FF500007F9600006BFC000063CB00001AD400006E5D00001E1F 00003B2500001238000045090000767D00007A5A00005D030000701F000026A60000428B000066BB 0000644300004DC80000074D00002D12000039B3000054DE0000154700004DB700004D060000491C 0000440D0000305E000001240000009900000F3E0000390C00007E870000153C000012DB00002EA6 00000BB3000001EB000026E9000041BB00005AF100006DF10000164900005F9000006952000072AE 00002CD600003D6C00004AE100006784000018BE0000482300000029 * 00001AF400006D2200006 732000007CF000000350000127E0000205900005FA400004CD400005A9F00006AD400005DD500001 1F400002B0C0000249E000078740000283300005F1E00000E1200000FC900006BCB0000195300005 42C0000503900006BE8000018D700004402000006770000494A00007F4F00000384000071F000004 01D000032E600006B7200006172000019160000489C00005E9D0000261E00007DD1000022CD00003 A610000288F00006C6900002FFF00003C6100002C4900004657000075EF0000798300000D6600003 68E000054DC0000422D0000047E00006AD600002F1400000FBF00003CD600005C67000060BF00005 753000048CC000023C9000033EA00005DB200004080000013E900003CD500006899000016C500001 87E00004A800000692C000070490000139D0000577200007BB90000090200003699000026CA00005 8B0000073DA0000121F0000798B000012E10000409D000059910000082200003EF60000542200001 5A100002C3B0000603200007EB700004230000066C40000366B00001CD00000136600002E4000004 94400004DF200005E140000314F00004CAD00000DDC00005F490000797D = 062BEA981F4D31743B368930454ECE0639FD9E3E360873EA589100F982C4F7FB91A941899CE0F1 F2965CE628AEA8C33DD609471DD837C262BB1DE04B005F0B3D07D0EA080A6E22FAF8AE0434073CE7 9317A827E72698227C35F1CFC233C27BB479318EA79FA63D63AB41CB4B78BA8E4CA4818F71BFF352 A7C1C2695F14E931F5C382B5F94103FF9D612BBCCC8BC212D8633B93355E013A486DAFC1A9855536 29E544833AB0965631FD4AC3CEE2263DBFBA6EF3CF2B1BEA7F2206AE311860C61436AA1B2865A149 E56B01567265594B9350B5EE36228F788A7D27880A87711483E28506E3CBA9BC6BED88B06681656F C7A6308F37977695EEB2A18738E6648A9A183441B1186050DB05A71E405DADBADE3D8EB96307A7F9 0B7C5142677D03ACF598093AB49B476310DD7FC902971C4BB8BD8ED30E8AC5B028D9AE4DEAE77E0F 89FD369B42881F7667E05191F1C4ADD37729AD57981393E1257E2F7446A8A24550FEE4C416FB9BC7 F191ED1B0193DCE869810E6A1ADB8D55DBA2F28C62A3F8BC3F1F9CA05AD9A77E80CFA316CF0F1D06 E9C301A2EB036F331BCDDD2560D7B89A22C1D37A94C6CE7D8FF9A03C4B963A8E33ECE9D349010131 5DC14EC93FC82DD77E703A4821CEFE79D451A4FE6E7B19C2FE483089756F78B7844EC786C03C5B29 F3FA5CC6CF0750060EF604FD69E5180D49A971CCCACEA51846A85248C2A6AD4A35A0C76D00C618AD D3BEBE8A5EA94FA9857D813AE26900E4D56E3AEE6600380330E6C66A78EBD90157FF343219D53B1F 588EBECEE2CD6CA053012C852FB19BA18D873E8E0670B3A1704F0449D859F4C3D90CBC685E0D57C8 DC316F06F7EBA8128AEC83D21CFEF6FEB3AEC6F151915E90D29169CC4B7F3B59CB9EF60F6A83C25F DC884D0FF03662BAA94EAD47544A1F93695470967248E745602A6AC6F21E15413220E509F20622E6 720974FF0300EE316FF5356671F71F4391CC9D1335B3C807C1C32E3D16C2293D7393E777676E8585 FA53FCB3BC610A5C173E498C6B2699A9FD224B06C800137505
?
-
fang auch mal an, andere sachen zu testen.
wie wärs mit der quersumme von 2^1000000 oder 2^341%341?
-
Bis jetzt habe ich erst +, - und * implementiert und teste gerade die Karatsuba-Multiplikation.
Für die Multiplikation gibt es einen einfachen Test: Sei b die Basis der Zahldarstellung: [a_{n-1}, ... a_0].
Dann ist [b-1, ... b-1 (n mal)]^2 = [b-1, ... (n-1 mal), b-2, 0 ... (n-1 mal), 1].
-
\aleph_0 schrieb:
... Eigentlich plane ich für 4096 bit :).
EDIT: Halte mich nicht für paranoid, aber stimmt
000...37505
?
hmmm....
Das bekommt meine (eigene) Library raus:
62BEA981F4D31743B368930454ECE0639FD9E3E360873EA589100F982C4F7FB91A941899CE0F1F2965CE628AEA8C33DD609471DD837C262BB1DE04B0 05F0B3D07D0EA080A6E22FAF8AE0434073CE79317A827E72698227C35F1CFC233C27BB479318EA79FA63D63AB41CB4B78BA8E4CA4818F71BFF352A7C 1C2695F14E931F5C382B5F94103FF9D612BBCCC8BC212D8633B93355E013A486DAFC1A985553629E544833AB0965631FD4AC3CEE2263DBFBA6EF3CF2 B1BEA7F2206AE311860C61436AA1B2865A149E56B01567265594B9350B5EE36228F788A7D27880A87711483E28506E3CBA9BC6BED88B06681656FC7A 6308F37977695EEB2A18738E6648A9A183441B1186050DB05A71E405DADBADE3D8EB96307A7F90B7C5142677D03ACF598093AB49B476310DD7FC9029 71C4BB8BD8ED30E8AC5B028D9AE4DEAE77E0F89FD369B42881F7667E05191F1C4ADD37729AD57981393E1257E2F7446A8A24550FEE4C416FB9BC7F19 1ED1B0193DCE869810E6A1ADB8D55DBA2F28C62A3F8BC3F1F9CA05AD9A77E80CFA316CF0F1D06E9C301A2EB036F331BCDDD2560D7B89A22C1D37A94C 6CE7D8FF9A03C4B963A8E33ECE9D3490101315DC14EC93FC82DD77E703A4821CEFE79D451A4FE6E7B19C2FE483089756F78B7844EC786C03C5B29F3F A5CC6CF0750060EF604FD69E5180D49A971CCCACEA51846A85248C2A6AD4A35A0C76D00C618ADD3BEBE8A5EA94FA9857D813AE26900E4D56E3AEE660 0380330E6C66A78EBD90157FF343219D53B1F588EBECEE2CD6CA053012C852FB19BA18D873E8E0670B3A1704F0449D859F4C3D90CBC685E0D57C8DC3 16F06F7EBA8128AEC83D21CFEF6FEB3AEC6F151915E90D29169CC4B7F3B59CB9EF60F6A83C25FDC884D0FF03662BAA94EAD47544A1F9369547096724 8E745602A6AC6F21E15413220E509F20622E6720974FF0300EE316FF5356671F71F4391CC9D1335B3C807C1C32E3D16C2293D7393E777676E8585FA5 3FCB3BC610A5C173E498C6B2699A9FD224B06C800137505
Ohne jetzt Byte für Byte verglichen zu haben würde ich sagen, es stimmt...
-
Nochmal danke!
Verwendest du für die Multiplikation auch den Karatsuba-Algorithmus?