дроби, напечатать по возрастанию |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
дроби, напечатать по возрастанию |
Client |
Сообщение
#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 |
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
вот сделал только вывод дробей
uses crt; а как сделать по возрастанию? |
Boss |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
Уточни что есть по возрастанию??? К примеру 2/3 > 1/2 > 1/3, если так то в каком варианте тебе нужен вывод ответа? 0.5 или 1/2
|
TarasBer |
Сообщение
#4
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Эту задачу оптимальнее через ряд Фарея делать
http://ru.wikipedia.org/wiki/Ряд_Фарея Там в разделе "свойства" очень хорошо описан алгоритм построения, и там сразу всё будет по возрастанию. Сообщение отредактировано: TarasBer - -------------------- |
Malice |
Сообщение
#5
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
|
Boss |
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
2Malice если не сложно кинь пример с рекурсией, а то через массив сделал, но много переменных затратил..
|
Client |
Сообщение
#7
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
Цитата Уточни что есть по возрастанию??? К примеру 2/3 > 1/2 > 1/3, если так то в каком варианте тебе нужен вывод ответа? 0.5 или 1/2 именно так. И вывести надо как дробь 6/7.... Цитата Эту задачу оптимальнее через ряд Фарея делать попробую сделать... |
Malice |
Сообщение
#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 |
Сообщение
#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 |
Сообщение
#10
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
|
Client |
Сообщение
#11
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
Спасибо за совет
Процедуры и функции, а тем более рекурсию еще не проходил... но пытаюсь сам с ними разобраться |
pefeUnsaste |
Сообщение
#12
|
Гость |
посоветуйте пожалуйста хорошую зоо клинику в москве
|
-Алексей- |
Сообщение
#13
|
Гость |
Ребят, а помогите эту же задачу решить только на с++
|
TarasBer |
Сообщение
#14
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Заменяешь begin и end на {}, = на ==, := на =.
-------------------- |
Angelina |
Сообщение
#15
|
Гость |
Что значит clrscr и readkey ???
|
Текстовая версия | 11.01.2025 5:08 |