|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.04.2011, 17:32 | #1 |
Участник клуба
Регистрация: 07.07.2009
Сообщений: 1,385
|
C++: чистая арифметика, опять считает больше, чем надо
Добрый день, дорогие формучане!
Простейшая задача - ну чисто школьная арифметика, и опять видит неправильно - считает на шаг больше, чем надо. Условие: Дано целое число N (> 0). Найти наименьшее целое положительное число K, квадрат которого превосходит N: K^2 > N. Функции возведения в степень и извлечение квадратного корня не использовать. А у меня с числом 10 видит К=3, хотя по правилам должен видеть 4 (это самое малое число, квадрат которого больше 10). То есть получается опять выполняет программу на шаг больше, чем надо. Код:
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
|
01.04.2011, 17:36 | #2 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 125
|
Опять те же грабли
Repeat untill вам в помощь Но вот я думаю что как то некрасиво, чем больше n тем больше ваша программа вхолостую молотить будет |
01.04.2011, 17:40 | #3 |
Участник клуба
Регистрация: 07.07.2009
Сообщений: 1,385
|
Мы такого не проходили((( Нам while нужен(((( Вот я и думаю, как выкрутиться... как прописать условие так, чтобы увидев что число необходимое найдено, сразу остановился. Ну не будешь же искуственно добавлять 1 к найденному числу - типа потому что он увидел на шаг больше
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
|
01.04.2011, 17:44 | #4 |
Форумчанин
Регистрация: 26.01.2009
Сообщений: 125
|
Ну тогда если нет условия начинать с n то начните с еденицы и на увеличение с условием пока квадрат меньше...
Пока меньше будет прибавлять, как станет больше проскочит дальше Как так вы репит антил не проходили? Мне кажется их НУЖНО вместе проходить Последний раз редактировалось BoozZzilla; 01.04.2011 в 17:48. |
01.04.2011, 17:46 | #5 |
Участник клуба
Регистрация: 07.07.2009
Сообщений: 1,385
|
Счас попробуем
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
|
01.04.2011, 17:51 | #6 |
Участник клуба
Регистрация: 07.07.2009
Сообщений: 1,385
|
Так программа увидела правильно)) Чуть условие подкрутила и все в порядке. Спасибо))
Я с другой задачей, чувствую, скоро заявлюсь.. еще подумаю, почему она считает неправильно (может быть, меня осенит идея) - если не смогу понять ошибку, ждите)) Видите, я блондинка, и вижу мир немного по-другому... так сказать искаженное восприятие математической логики)))
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
Последний раз редактировалось Blondy; 01.04.2011 в 17:53. |
01.04.2011, 18:33 | #7 |
Форумчанин
Регистрация: 03.10.2010
Сообщений: 321
|
Код:
|
01.04.2011, 18:36 | #8 |
Участник клуба
Регистрация: 07.07.2009
Сообщений: 1,385
|
Ага, спасибо)) Мы тут уже с одним юношей уже разобрались.... Но у Вас тоже очень изящно написано))
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
|
01.04.2011, 18:46 | #9 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
|
01.04.2011, 18:51 | #10 |
Форумчанин
Регистрация: 03.10.2010
Сообщений: 321
|
N = 4;
K = 2; 2 * 2 < n == false и это первое несовпадение (тк 1 * 1 < n ==true ) |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Аргументов ЕСЛИ больше чем 7 | Freerider1972 | Microsoft Office Excel | 40 | 16.05.2011 10:44 |
Задача где неизвестных больше чем известных. | poolt | Microsoft Office Excel | 17 | 01.12.2010 02:28 |
Больше чем LongInt | Dionix | Общие вопросы Delphi | 7 | 17.07.2010 16:30 |
Чем больше объектов - тем меньше скорость? | Diego__ | Microsoft Office Word | 6 | 05.01.2010 01:39 |
Да тестостерона в 3 раза больше чем норма | HellMercenariess | Свободное общение | 3 | 25.08.2009 22:52 |