1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
|
program Project2;
{$APPTYPE CONSOLE}
{Rechenkraft pur:man kanns auch so nennen: wie ein Aufkleber auf einem Panzer:
HUBRAUM STATT SPOILER!!!}
const ZAHL_GROSSE=1999;
ARRAY_GROSSE=3000;{auf nummer sichergehen}
andere_zahl=1999;
MIN=1;
MIN_ZAHL=1;
type triesenzahl=array[1..ARRAY_GROSSE]of byte;
var riesen_zahl,Kopie:triesenzahl;
procedure ini_riesen_zahl(var riesen_zahl:triesenzahl);
var i:integer;
begin
for i:=MIN to ZAHL_GROSSE do
riesen_zahl[i]:=MIN_ZAHL;
for i:=ZAHL_GROSSE+1 to ARRAY_GROSSE do
riesen_zahl[i]:=0;
end;
procedure multiplizieren(var riesen_zahl,kopie:triesenzahl;multiplicator:integer);
var i,j,temp,temp2:integer;
begin
{etwas auf die Schnelle, also nicht allgemeingültig, nachbilden von schriflicher multiplikation}
for j:=1 to multiplicator-1 do
for i:=min to ARRAY_GROSSE do
begin
temp:=riesen_zahl[i]+kopie[i];
if temp<10 then
begin
riesen_zahl[i]:=temp
end else
begin
temp2:=temp div 10;
temp:=temp mod 10;
riesen_zahl[i]:=temp;
riesen_zahl[i+1]:=riesen_zahl[i+1]+temp2;
end;
end;
end;
function quersumme(riesen_zahl:triesenzahl):integer;
var i,temp:integer;
begin
temp:=0;
for i:=min to ARRAY_GROSSE do
temp:=temp+riesen_zahl[i];
quersumme:=temp;
end;
begin
ini_riesen_zahl(riesen_zahl);
ini_riesen_zahl(kopie);
multiplizieren(riesen_zahl,kopie,andere_zahl);
writeln(quersumme(riesen_zahl));
readln;
end.
|