Sumowanie dużych liczb

Sumowanie dużych liczb
K3
  • Rejestracja:ponad 4 lata
  • Ostatnio:około 2 lata
  • Postów:34
0

Witam, piszę program który ma sumować, duże liczby, nie mogę używać funkcji do dużych liczb. Umiem napisać program, który sumuje 2 liczby ale nie wiem jak to zrobić by sumował np 30 liczb. Mógłby mi ktoś pomóc?

S7
Zsumuj dwie liczby tworząc trzecią, następnie do tej stworzonej liczby dodaj kolejna, i tak dalej...
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
4

Skoro umiesz zsumować 2, to czemu nie robisz ((a+b)+c)+d+...?


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
fasadin
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
0

ale nie wiem jak to zrobić by sumował np 30 liczb.

w sensie jedna po kolei?

Kopiuj
auto sum = 0;
while (jakasFlaga) {
  int userInput = 0;
  cin >> userInput;
  sum += userInput
}

czy chodzi Ci o liczby ktore maja 30 znakow dlugosci? w sensie 111111111111111111111111111111111111111111111111 ?

_13th_Dragon
raczej sum=sum+userInput bo dwie dodać umie.
lion137
  • Rejestracja:około 8 lat
  • Ostatnio:3 minuty
  • Postów:4930
0

Pokaż jak to Masz zaimplementowane big integerrs, bo jakbyś chciał zrobić dodawanie, np., w pętli, to może potrzebna Ci klasa i przeładowane operatory.


kwalifika
  • Rejestracja:ponad 4 lata
  • Ostatnio:około 4 lata
  • Postów:125
0

a + b = c i jest ryzyko że to będzie > int_max ?

wtedy należy to rozbić na dwa składniki, w stylu: a + 2^32 * b; :)

ewentualnie sumować to na double lub int64, 128 itp:

int a, b;

double c = (double)a + b;

Shalom
To raczej dość jasne że autor ma napisać dodawanie pisemne dowolnie dużych liczb...
Tasmanian Devil
Hej! Twój post prawdopodobnie zawiera niesformatowany kod. Użyj znaczników ``` aby oznaczyć, co jest kodem, będzie łatwiej czytać. (jestem botem, ta akcja została wykonana automatycznie, prawdopodobieństwo 0.99773806)
kwalifika
pisemnie to dodają tylko ludzie. a wyobraź sobie że oni nawet pierwiastkować nie potrafią w pamięci?! :)
Shalom
@kwalifika: tylko to co napisałeś wyżej z rozłożeniem na jakieś N-bitowe kawałki, to jest właśnie nic innego jak operacje pisemne. Jedyna różnica jest taka że w podstawówce rozkładało się na dziesiątki a nie N-bitowe bloki.
kwalifika
jasne, i nawet podejrzewam że na tym polegało zadanie: zapisać sumę na bokach typu int (można na double ale to już zbyt trudne, raczej.. dla doktorantów:).

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.