Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
8 / 8 / 1
Регистрация: 28.03.2012
Сообщений: 126

Найти длинный остаток от деления двух чисел

28.06.2012, 12:30. Показов 1393. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Упростить алгоритм готовой программы

Требуется найти остаток от деления чисел.
Проблема в следующем: При целом делении ничего не выводит. (Побочная, можно не смотреть).
И главная - преподаватель сказал, что алгоритм ужасен, по мне он работает нормально. Помогите упростить. Спасибо.


Pascal
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
program Delenie;
uses crt;
const max=1000;
type mas=array[0..max] of shortInt;
var
  s:boolean;
  m1,m2,ost,t:string;
  a1,a2,mm1,mm2,p:mas;
  cod:Integer;
  f,k,l,i,j,z,c,q,sum:integer;
  m,n1,n2:integer;
{ñðàâíåíèå äëèííûõ ÷èñåë}
function Sravn(m:integer;a1,mm2:mas):boolean;
  var
    k:integer;
  begin
    if m<>n2 then Sravn:=(m>n2)
    else begin
       Sravn:=true;
       k:=1;
       while (k<=m)and(a1[k]=mm2[k])do inc(k);
       if (k<=m)then Sravn:=(a1[k]>mm2[k]);
    end;
  end;
begin
  clrScr;
  writeLn(' Vvedite delimoe');
  readLn(m1);
  n1:=lengTh(m1);
  for i:=1 to n1 do val(m1[i],mm1[i],cod);
  writeln(' Vvedite delitel');
  readLn(m2);
  n2:=lengTh(m2);
  for i:=1 to n2 do val(m2[i],mm2[i],cod);
  for i:=1 To n2-1 do a1[i]:=mm1[i];
  if (n2>n1)or((n2=n1)and(m2[1]>m1[1]))then
    begin
     ost:=m1;
     writeln('Ostatok=',ost);
     readln;
     exit;
    end;
  m:=n2-1;
  i:=m;
  while(i<n1)Do
    begin
      while ((Sravn(m,a1,mm2)=false) and (i<n1)) do
        begin
          sum:=0;
          for q:=1 to m do
            begin
              sum:=sum+a1[q];
              if sum<>0 then break;
            end;
          if ((m>0)and(sum<>0))or(m=0) then m:=m+1;
          i:=i+1;
          a1[m]:=mm1[i];
        end;
      j:=0;
      while(Sravn(m,a1,mm2)=true)do
        begin
          f:=n2+1;
          for k:=m downto m-n2 do
            begin
              f:=f-1;
              if a1[k]>=mm2[f] then a2[k]:=a1[k]-mm2[f]
              else
                begin
                  a1[k]:=a1[k]+10;
                  a1[k-1]:=a1[k-1]-1;
                  for l:=k downto 1 do
                  if a1[l]<0 then
                     begin
                       a1[l-1]:=a1[l-1]-1;
                       a1[l]:=a1[l]+10;
                     end;
                  a2[k]:=a1[k]-mm2[f];
                end;
            end;
          for l:=m-n2-1 downto 1 do
          a2[l]:=a1[l];
          j:=j+1;
          p[i-n2+1]:=j;
          while((a2[1]=0)and(m>0))do
            begin
              for z:=1 to m-1 do
              a2[z]:=a2[z+1];
              m:=m-1;
              a2[m+1]:=0;
            end;
          for z:=1 to m do
          a1[z]:=a2[z];
        end;
      while((a1[1]=0)and(m>0))do
        begin
          for z:=1 to m-1 do
          a1[z]:=a1[z+1];
          m:=m-1;
          a1[m+1]:=0;
        end;
    end;
  ost:='';
  for i:=1 to m do
     begin
      str(a1[i],t);
      ost:=ost+t;
     end;
  writeln('Ostatok=',ost);
  readln;
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.06.2012, 12:30
Ответы с готовыми решениями:

Найти сумму/разность/произведение/остаток от деления чисел в заданной системе счисления
Лимит времени: 1 с Лимит памяти: 64 МБ Баллы за задачу: 10 Даны два натуральных числа A та B (A&gt;=B) в системе счисления с...

Вычислить остаток от деления двух целых чисел, введённых с клавиатуры, и выводит р
Напишите программу, которая вычисляет остаток от деления двух целых чисел, введённых с клавиатуры, и выводит результат на экран.

Найти сумму тех чисел, которые имеют остаток от деления на некоторое число m, равный 0
помогите плиз Дано n вещественных чисел. Найти сумму тех из них, которые имеют остаток от деления на некоторое число m, равный 0....

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.06.2012, 12:30
Помогаю со студенческими работами здесь

Найти сумму элементов массива целых чисел C(1.12), удовлетворяющих условию:остаток от деления элемента на 2 равен 3
Найти сумму элементов массива целых чисел C(1..12), удовлетворяющих условию:остаток от деления элемента на 2 равен 3

Найти остаток от деления числа
В данной задаче нельзя использовать цикл, т.к. не уложитесь по времени. Время выполнения программы не более 2 сек Написать программу,...

найти остаток от деления 17^2005 на 20
не могу решить задание найти остаток от деления 17^2005 на 20

Найти остаток k от деления на 3 величины M
Даны три целых положительных числа a,b,c. Найти остаток k от деления на 3 величины M: M=(a+b^2)/c Вычислить значение...

Вывести на экран остаток и неполное частное от деления натуральных чисел A на B
Пожалуста срочна нужна сделать Разработать программу, которая находит и выводит на экран монитора остаток и неполное частное от деления...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru