|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.04.2011, 22:47 | #1 |
Форумчанин
Регистрация: 25.12.2010
Сообщений: 247
|
перевод бесконечной переодической дроби в обыкновенную?
вот написал не сложную программу, но она не работает
Код:
|
02.04.2011, 23:23 | #2 |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
Правило перевода бесконечной периодической дроби в обыкновенную таково:
Чтобы обратить периодическую дробь в обыкновенную, надо из числа, стоящего до второго периода, вычесть число, стоящее до первого периода и записать эту разность числителем, а в знаменателе написать цифру 9 столько раз, сколько цифр в периоде, и после девяток дописать столько нулей, сколько цифр между запятой и первым периодом. По-моему, этот алгоритм реализовать несколько проще. Главное -- решение будет точным -) ЗЫ Если, все-таки, решение перебором принципиально, то попробуй расставить скобки в подозрительной строчке: Код:
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 Последний раз редактировалось Mandrivnyk; 02.04.2011 в 23:26. |
03.04.2011, 00:24 | #3 |
Форумчанин
Регистрация: 25.12.2010
Сообщений: 247
|
спасибо, впредь постараюсь не спать на алгебре=)
хотя с if ((floor(i*n)/i)==n) все равно странно оно ни разу не бывает true |
03.04.2011, 00:41 | #4 | |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
Цитата:
Оно у тебя и не будет никогда true. Сам подумай. у тебя n имеет 16 знаков после запятой. а i доходит только до 100. Что ты, собственно, хочешь проверить этим условием?
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
|
03.04.2011, 13:07 | #5 |
Форумчанин
Регистрация: 25.12.2010
Сообщений: 247
|
мне надо чтобы у меня был целый числитель, те i*n/i==n, если i*n -- целое, то i*n==floor(i*n), а значит floor(i*n)/i==n, по идее он должен быть true при i равном 9 или кратному 9
|
03.04.2011, 15:55 | #6 |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
i*n при заданном тобой n = 1.2222222222222222 будет целым если i будет равно 500000000000000 (если я правильно посчитал разряды). При меньших i у тебя все равно останется "хвостик" после десятичной точки.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
03.04.2011, 16:26 | #7 |
Форумчанин
Регистрация: 25.12.2010
Сообщений: 247
|
Код:
|
03.04.2011, 16:49 | #8 |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
Ради интереса, попробуй
Код:
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
03.04.2011, 20:37 | #9 |
Форумчанин
Регистрация: 25.12.2010
Сообщений: 247
|
ОК, спасибо, разобрался
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вычисление бесконечной суммы ряда | pyzhov | Помощь студентам | 7 | 12.12.2010 22:48 |
представить обыкновенную дробь в виде десятичной | андреич | Помощь студентам | 2 | 19.05.2010 22:43 |
VS 2008 C++, задачка на вычисление бесконечной суммы | Graf Xandr | Помощь студентам | 1 | 16.11.2009 20:54 |
Вычисление бесконечной суммы в delphi | Hegel | Помощь студентам | 31 | 11.01.2009 20:49 |
преобразование десятичной дроби в обыкновенную и обратно, Delphi | ИгорьОК | Помощь студентам | 4 | 04.04.2007 21:12 |