Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 21.03.2018
Сообщений: 4

Получить точное значение частного А/В для двух натуральных чисел A и B (выдаёт ошибку на 7 тесте)

21.03.2018, 00:40. Показов 3327. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Требуется получить точное значение частного А/В для двух натуральных чисел A и B.

Входные данные
В единственной строке входного файла INPUT.TXT записано частное двух натуральных чисел, не превышающих 1000. Числа разделены символом «/» без лишних пробелов.

В выходной файл OUTPUT.TXT нужно вывести точное значение A/B без лишних точек, нулей и пробелов. В случае присутствия бесконечной записи числа следует вывести период в скобках.

Например, неправильно выведены числа: 08.92, 3.20, 120.6(6), 0.(33), 5.(0), 2. , .3, 0.33(03) . Их следует выводить как 8.92, 3.2, 120.(6), 0.(3), 5, 2, 0.3, 0.3(30) .



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
begin 
writeln('Введите N'); 
readln(n); 
max:=0; 
trueA:=0; 
trueB:=0; 
n2:=n div 2; 
for i:=1 to n2 do 
begin 
a:=i; 
b:=n-i; 
tempmax:=0; 
if a>b then c:=b 
else c:=a; 
for i:=1 to c do 
if (a mod i = 0) and (b mod i = 0) and (i>tempmax) then tempmax:=i; 
if tempmax>max then 
begin 
trueA:=a; 
trueB:=b; 
max:=tempmax; 
end; 
end; 
writeln(n,'='a,'+',b, 'НОД (a,b)=', max); 
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.03.2018, 00:40
Ответы с готовыми решениями:

Получить точное значение частного А/В для двух натуральных чисел A и B
Требуется получить точное значение частного А/В для двух натуральных чисел A и B. Входные данные В единственной строке входного...

Для двух натуральных чисел n, m получить сумму m последних цифр числа n
Для двух натуральных чисел n, m получить сумму m последних цифр числа n.

Для двух заданных натуральных чисел получить в порядке убывания все общие кратные
Написать программу через цикл for. Для двух заданных натуральных чисел получить в порядке убывания все общие кратные, не превосходящие...

3
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
21.03.2018, 09:56
А это точно решение к этой задаче? Вы ничего не попутали?
0
0 / 0 / 0
Регистрация: 21.03.2018
Сообщений: 4
21.03.2018, 11:08  [ТС]
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
Var
 nom,den,d,m,Q:Word;
 n,j,p:Byte;
 f_in,f_ou:Text;
 Rem:Array[1..100] of Word;
 Fig:Array[1..100] of Byte;
 S_in,nom_st,den_st,S,St:String;
 Code:Integer;
 
Function Test_Rem(R:Word; k:Byte):Byte;
var
 b:Boolean;
 i:Byte;
begin
 b:=false;
 i:=0;
 repeat
  Inc(i);
  if i<=k then if Rem[i]=R then b:=true;
 until b or (i=k+1);
 if b then Test_Rem:=i else Test_Rem:=0;
end;
 
Begin
 Assign(f_in,'D:\Input.txt');
 Reset(f_in);
 Assign(f_ou,'D:\Output.txt');
 Rewrite(f_ou);
 Repeat
  Readln(f_in,S_in);
  p:=0;
  repeat
   Inc(p);
  until S_in[p]='/';
  nom_st:=Copy(S_in,1,p-1);
  den_st:=Copy(S_in,p+1,Length(S_in)-p);
  Val(nom_st,nom,Code);
  Val(den_st,den,Code);
  n:=1;
  S:='';
  Str((Nom div Den),St);
  S:=S+St;
  if (Nom mod den)>0 then
   begin
    S:=S+'.';
    m:=(Nom mod Den);
    Rem[1]:=m;
    repeat
     Inc(n);
     d:=m*10 div Den;
     m:=m*10 mod Den;
     Q:=Test_Rem(m,n-1);
     if (m>0) and (Q=0) then
      begin
       Rem[n]:=m;
       Fig[n]:=d
      end;
    until (m=0) or (Q>0);
    Rem[n]:=m;
    Fig[n]:=d;
    if m=0 then
     begin
      for j:=2 to n do
       begin
        Str(Fig[j],St);
        S:=S+St;
       end
     end
    else
     begin
      for j:=2 to Q do
       begin
        Str(Fig[j],St);
        S:=S+St;
       end;
      S:=S+'(';
      for j:=Q+1 to n do
       begin
        Str(Fig[j],St);
        S:=S+St;
       end;
      S:=S+')';
     end;
   end;
  Writeln(f_ou,S);
 Until EoF(f_in);
 Close(f_in);
 Close(f_ou);
End.
0
Эксперт Pascal/Delphi
2388 / 1300 / 1492
Регистрация: 29.08.2014
Сообщений: 4,665
22.03.2018, 05:01
Марат121, Можете перевести прогу с с++ на фри паскаль?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.03.2018, 05:01
Помогаю со студенческими работами здесь

Linx выдает ошибку при тесте i7 6700k
Здравствуйте, мой процессор не проходит леникс, когда первый раз запустил прошел всего 2 минуту потом выдал ошибку, сейчас прошел 12минут и...

При тесте оперативная память выдает ошибку
Здравствуйте. Прикупил себе новый процессор AMD FX 8350. Поставил я его, значит, в свой пк, решил поиграть во что нибудь.Через несколько...

Частное двух чисел (найти ошибку, выдает ноль)
Помогите найти ошибочку, выдает 0 int main () { int x, a, b; float cha; puts(&quot;vvedite dvuanachnoe chislo&quot;); ...

проблема: задача n550 на acmp. НА 6 тесте выдает ошибку с надписью Presentation error - прошу обьяснить
Условие: День программиста отмечается в 255-й день года (при этом 1 января считается нулевым днем). Требуется написать программу, которая...

Программа для сравнения двух текстов выдает ошибку
Выдает ошибку:(( error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup fatal error LNK1120:...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru