С Новым годом! Форум программистов, компьютерный форум, киберфорум
Алгоритмы
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для Troll_Face
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065

Поиск наименьшего целого числа, при умНожении которого на данное дробное число получится целое

21.01.2013, 10:05. Показов 1629. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кроме перебора ничего в голову не приходит...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.01.2013, 10:05
Ответы с готовыми решениями:

Поиск чисел обладающих следующим свойством: если к сумме цифр числа прибавить квадрат этой суммы, то получится снова данное число
Написать программу поиска двузначных чисел, обладающих следующим свойством: если к сумме цифр числа прибавить квадрат этой суммы, то...

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

Найти такое число, при умножение которой получится целое число
Дано число. Требуется найти такое число, при умножение которой получится целое число Например дано 0.333333 число которое нужно найти...

7
Эксперт функциональных языков программированияЭксперт по математике/физике
4312 / 2104 / 431
Регистрация: 19.07.2009
Сообщений: 3,200
Записей в блоге: 24
21.01.2013, 10:19
Как я понимаю, задано только одно дробное число. Дробное значит рациональное. Как оно задано?
Обычно рациональное число — это либо несократимая дробь n/m как пара двух чисел, или (может, сократимая) дробь n/m, где m фиксировано.
Как Вы задаёте дробь?

Если дана несократимая дробь n/m как пара (n,m), то наименшее целое число z, что z*(n/m) целое, есть z=m.
Если дана сократимая дробь n/m, заданная n, а m априори известно, например, m=1 000 000 (что уместно для т.н. дробей с фиксированной точкой, которые противопоставляются числам с плавающей точкой), то можно сначала сократить эту дробь, разделив на НОД, сведя это к первой задаче. Таким образом, z=m/НОД(n,m).
0
294 / 206 / 2
Регистрация: 20.02.2011
Сообщений: 551
21.01.2013, 10:26
B машинной арифметике такое не реально: целые и дробные числа хранятся по-разному. В силу этого целые могут переходить в дробные, а вот обратно - ни в жисть. Если только не используете Лисп и его производные. Или - задача к вычислениям не относится, чисто умозрительна? Тогда, по большому счету, сначала придется доказать, что заданное дробное число исходно не является иррациональным. Если же задача вычислительная, то нужно заранее знать допустимый порог отклонения между произведением исходного числа с найденным целым числом (т.е. дробным числом) и ближайшим целым числом.

А вообще, вряд ли что-то вроде подбора можно предложить. Во всех случаях.
0
 Аватар для Troll_Face
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
21.01.2013, 10:44  [ТС]
Предположим ввели 1.5, наименьшее целое = 2. Если бы водили как 3/2, то проблем небыло бы...

Добавлено через 2 минуты
Делаю в ассемблере

Добавлено через 13 секунд
Делаю в ассемблере

Добавлено через 9 минут
А может как-нибудь анализировать только дробную часть? Тот же пример: 1.5, дробная часть 0.5, представим как целое, т.е. 5, а потом работать с пятеркой?
0
Эксперт функциональных языков программированияЭксперт по математике/физике
4312 / 2104 / 431
Регистрация: 19.07.2009
Сообщений: 3,200
Записей в блоге: 24
21.01.2013, 10:54
Я так понял, что вводится число в формате <целая часть><точка><k цифр после точки>
Например, 10.234 или 3.9876543
В таком случае мы можем представить число как n / 10^k, где k — число знаков после запятой. По духу задачи число вводится либо с клавиатуры, либо из файла, а значит, количество знаков определено однозначно. Более того, до определённого момента мы можем работать со строкой, производя соответсвтующие манипуляции. Так, мы можем выделить явно дробную часть, отбросив всё до точки-разделителя, и распарсить её как целое число.
Вы можете найти НОД (наименший общий делитель) чисел 10^k и дробной частью? Например, если было 10.234, то ищем НОД(234,1000)=2; если было 3.9876543, то ищем НОД(9876543,10000000)=1.
Тогда ответом будет 10^k / НОД.

Пример: 1.25
1. Дробная часть 0.25 содержит в себе k=2 знака «25».
2. 10^k = 100.
3. НОД(25,100)=25.
4. 100/НОД = 4.
1.25 * 4 = 5

P.S. Fatal Error, вижу, Вы уже сами пришли к такой идее.
1
 Аватар для Troll_Face
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
21.01.2013, 10:58  [ТС]
Спасибо, буду пробовать
0
294 / 206 / 2
Регистрация: 20.02.2011
Сообщений: 551
21.01.2013, 16:23
Цитата Сообщение от Mysterious Light Посмотреть сообщение
Пример: 1.25
1. Дробная часть 0.25 содержит в себе k=2 знака «25».
Не забывайте, что машинное представление дробей не десятичное, а двоичное. То есть, десятичные дроби всегда будут представлены в двоичном виде. И они всегда будут иметь ровно столько двоичных знаков в дробной части, сколько Вы им изначально отвели, определив эту переменную соответствующим образом. Короче, переменная 1.25 при ее определении как двоичное число представлена в памяти с округлением, точность определяется числом байтов, отпущенных на переменную, и ее пересчет обратно в десятичные единицы определенно даст ошибку.
0
 Аватар для Troll_Face
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
22.01.2013, 15:58  [ТС]
Цитата Сообщение от MOHCTP Посмотреть сообщение
Не забывайте, что машинное представление дробей не десятичное, а двоичное. То есть, десятичные дроби всегда будут представлены в двоичном виде.
об этом можно не парится, я буду парсить строку в поисках десятичной точки и работать целым числом. так что все нормально
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.01.2013, 15:58
Помогаю со студенческими работами здесь

Почему при выводе имею целое число, а не дробное
Здравствуйте. Почему при выводе имею целое число, а не дробное (как заказывали)? #include &lt;iostream&gt; using std::cout; using...

Дано целое число (N>0) найти наибольшее целое числа k, квадрат которого не превосходит N:k^2<=N
Помогите пожалуйста сделать задачу. Нужно сделать на С++. Вот условие: Дано целое число (N&gt;0) найти наибольшее целое числа k,...

Дано целое число n. Вывести числа от 2 до 11, на которые поделится данное число (используя только признаки делимости)
Дано целое число n. Вывести числа от 2 до 11, на которые поделится данное число (используя только признаки делимости) Помогите...

Как проверить является данное число квадратом целого числа?
Как проверить является данное число квадратом целого числа? подскажите какое необходимо написать условие.

Найти наибольшую степень числа 2, делящую данное целое число a
Найти наибольшую степень числа 2, делящую данное целое число a. Помогите написать программу


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru