Zapis dziesiętny

0

Kto to potrafi zaimplementować w pascalu: "Otrzymać wszystkie cyfry dziesiętnego zapisu liczby 2 do potęgi 500"? :-)

0

32733906078961418700131896968275991522166
42046043064789483291368096133796404674554
88327009232590415715088668412756007100921
7256545885393053328527589376

// wiem, nie na temat, ale to przeciez tylko chwilka pomyslunku ;p

// do postu poniżej: bzdury. Jesli już, to uzyj modułu vlong

uses vlong; // Trza zmienić tylko w srodku bits z 64 na odpowiednio 501
var v,w:verylongint;
begin
longtovlong(1,v);
vshl(v,500,w);
vwrite(w); // to wypisze jako hex. wiec sam pokombinuj nad wypisaniem w systemie 10 (masz tam mod i div, poradzisz sobie)
end.

// aleś się wycwanił :> - Ł

0

Robisz dodawanie na stringach (bo wszelkie typy zmiennych w pascalu nie pojma tak wielkiem liczby). Sorry nie na stringach (bo string tez w pascalu jest pewnie za maly tylko na tablicach dynamiczncznych czy wskaznikach).
Wiec dodajesz najpier 2+2
potem wynik tego =4
wiec dodajesz 4+4 wynik to 8
potem 8+8 i tak w petli 500 razy.
Dodawac pod kreska chyba umiesz wiec dodawanie na stringach tez powinienes zrobic. Zaczynasz od konca liczby dodajesz kolejne cyfry a nadmiar wywalasz miejsce z lewej. Przydadza Ci sie funkcje str i val.

1 użytkowników online, w tym zalogowanych: 0, gości: 1