Long аритметика 1

Long аритметика - олимпиада раздел програмиране, който се занимава с изпълнението на дейността, с големи числа, които не се вписват в стандартните типове данни. Към днешна дата, на един от езиците, използвани за решаване на проблемите олимпиада и поддържа дълго аритметика, е Java, където всички необходими функции за работа с дълги числа са изградени и можете да направите, без да отнема време реализации.

По принцип, ние ще разгледаме работата с числа. За съхранение на дълго число масив може да се използва, при което като броят на масив елемент е единична цифра. В първия елемент на масива ще се съхранява последната цифра на числото, в 2-рата - предпоследният и т.н. до последната цифра. В 0м елемент може да се съхранява на общия брой цифри в номера. В най-простия случай, да съхраните номера 154 би било достатъчно, за да използвате следния запис:

елемент Масивът може да бъде единична цифра, е възможно да се използва един елемент за съхранение на 4 цифри като ние разбираме, че в съвременните компютри, всички операции най-малко 32-битова, така че времето за добавянето на две числа е същата, както в добавянето на номера, състоящ се от 4 цифри. Затова често се използва, за брой система база = 10000, и действителната дължина на броя се съхранява като ще бъде системата за 10000 броя, тя позволява да се увеличи скоростта на операциите по тях 3-4 пъти.

Идеята за предприемане на всички необходими операции (събиране, изваждане, умножение, деление и т.н.), се основава на принципите, които ние използваме в изчисленията на хартия. Дори когато ние продаваме разделението "в колоната", в действителност ние работим с малки номера, с което по-сложен проблем до набор от по-прости подзадачи.

Задачите, които се обсъждат в този раздел са основен набор, за да може заедно начални умения усвояване дълги аритметични принципи. Почти всички на целите за дълго аритметика изискват четене от файл и запис във файла на дълги числа, така че ние даваме на изпълнението на тези функции в този раздел, и ще ги използват в урока:

Също така е често необходимо да се сравнят дълги числа. Ние описваме следната функция, която ще се върне 0, ако те са равни числа -1, когато първото число е по-малко от 1 секунда, а когато първият вече:

списък със задачи