дроби, напечатать по возрастанию |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
дроби, напечатать по возрастанию |
Client |
14.11.2007 19:32
Сообщение
#1
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
помогите пожалуйста
Задача: Найти и напечатать в порядке возрастания все простые несократимые дроби заключенные между 0 и 1, знаменатели которых не превышают 7 (дробь задается двумя натуральными числами-числителем и знаменателем). т.е. 1/2,1/3,2/3,1/4,3/4,1/5,2/5,3/5,4/5... Вот с поиском несократимых дробей постараюсь сам, а вот потом чтобы по возрастанию-нет идеи. вообщем надо циклом, но можно и массивом(если так легче будет). |
Client |
14.11.2007 19:57
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
вот сделал только вывод дробей
uses crt; а как сделать по возрастанию? |
Boss |
14.11.2007 21:34
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
Уточни что есть по возрастанию??? К примеру 2/3 > 1/2 > 1/3, если так то в каком варианте тебе нужен вывод ответа? 0.5 или 1/2
|
TarasBer |
14.11.2007 22:00
Сообщение
#4
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Эту задачу оптимальнее через ряд Фарея делать
http://ru.wikipedia.org/wiki/Ряд_Фарея Там в разделе "свойства" очень хорошо описан алгоритм построения, и там сразу всё будет по возрастанию. Сообщение отредактировано: TarasBer - 14.11.2007 22:02 -------------------- |
Malice |
14.11.2007 22:49
Сообщение
#5
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
|
Boss |
15.11.2007 1:26
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
2Malice если не сложно кинь пример с рекурсией, а то через массив сделал, но много переменных затратил..
|
Client |
15.11.2007 7:34
Сообщение
#7
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
Цитата Уточни что есть по возрастанию??? К примеру 2/3 > 1/2 > 1/3, если так то в каком варианте тебе нужен вывод ответа? 0.5 или 1/2 именно так. И вывести надо как дробь 6/7.... Цитата Эту задачу оптимальнее через ряд Фарея делать попробую сделать... |
Malice |
15.11.2007 7:58
Сообщение
#8
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
2Malice если не сложно кинь пример с рекурсией, а то через массив сделал, но много переменных затратил.. Вот так примерно: procedure f (a,b,c,d:integer; n,m:integer); Параметры - первая граница a/b, вторая c/d (для первого вызова 0,1 и 1,1 соответственно), n - текущий порядок ряда (1 для первого вызова), m - максимальный. |
Client |
16.11.2007 7:09
Сообщение
#9
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
Код uses crt; var i,n,m:0..7; c:boolean; procedure f(a,b,c,d:integer; n,m:integer); begin if n>m then exit; if ((a+c)<=m) and ((b+d)<=m) then begin f(a,b,a+c,b+d,n+1,m); write (a+c,'/',b+d,' '); f(a+c,b+d,c,d,n+1,m) end end; begin clrscr; for i:=1 to 7 do for n:=0 to i-1 do begin f(n,i,i,i,2,7); end; readkey end. Вот подставил и все работает) Спасибо за помощь всем |
Malice |
16.11.2007 10:31
Сообщение
#10
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
|
Client |
16.11.2007 18:20
Сообщение
#11
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
Спасибо за совет
Процедуры и функции, а тем более рекурсию еще не проходил... но пытаюсь сам с ними разобраться |
pefeUnsaste |
29.06.2012 1:12
Сообщение
#12
|
Гость |
посоветуйте пожалуйста хорошую зоо клинику в москве
|
-Алексей- |
30.09.2012 21:48
Сообщение
#13
|
Гость |
Ребят, а помогите эту же задачу решить только на с++
|
TarasBer |
30.09.2012 22:19
Сообщение
#14
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Заменяешь begin и end на {}, = на ==, := на =.
-------------------- |
Angelina |
9.10.2014 17:00
Сообщение
#15
|
Гость |
Что значит clrscr и readkey ???
|
Текстовая версия | 21.06.2024 18:03 |