Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Угадай число - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Частица движется случайно. http://www.cyberforum.ru/cpp/thread61260.html
1.Определить есть ли среди первых трех цифр из дробной части заданного положительного вещественного числа цифра 0 помоги плиииз.... такая тема в паскале уже есть...но нужно в си/++...
C++ Две задачи. Задача1. Составить описание класса для определения одномерных массивов строк фиксированной длины. Предусмотреть возможность обращения к отдельным строкам массива по индексам, конртоль выхода за... http://www.cyberforum.ru/cpp/thread61049.html
Работа с файлами (до делать програмку) C++
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <iostream.h> #define MAX 100 struct chit { char fio ; char adres ; char telefon ; int godRojd ;
C++ screenmate: SetWindowRgn - не всегда меняет форму окна
Решил разобраться с устройством Скринмейтов (программок бегающих по экрану:)). Долго мучился с разрезанием картинки и т.д. (С++ знаю не очень...), но тем не менее добился кое-каких результатов....
C++ Быки и коровы http://www.cyberforum.ru/cpp/thread60712.html
Доброе время суток. Пользователь загадывает число из 4 цифр, каждая из которых от 1 до 6, причем все цифры различны. Разработать алгоритм, который угадывает число по следующим правилам: выводится...
C++ Вопрос о типах данных С++ Всем привет! У меня путаница вышла со всем этим разнообразием типов данных в С++. Вообще, тип long double должен занимать 3 машинных слова (или 12 байт). Но вот когда я пишу : #include... подробнее

Показать сообщение отдельно
odip
Эксперт С++
7158 / 3220 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
07.11.2009, 22:34
Но вторая цитата остается в силе.
Это когда загадано число 8 что-ли ?
Читаем алгоритм и смотрим что получается:
Вопрос: n делится на 2 ?
Ответ: да
Вопрос: n делится на 4 ?
Ответ: да
Вопрос: n делится на 8 ?
Ответ: да
Вопрос: n делится на 16 ?
Ответ: нет
Вопрос: n делится на 24 ? ( 8*3 )
Ответ: нет
Вопрос: n делится на 40 ? ( 8*5 )
Ответ: нет
...
И так далее - пока q<=N.
Ответ будет 8.

Добавлено через 10 минут
получится что мы найденное число (а оно может быть и не маленькое) будем умножать на простые числа под верхней границой заданного диапазона (а оно может тоже не маленьким). В этом случае мы превышаем максимальное значение для int, то есть на экране могут отражаться "левые" числа.
Тебя смущает вычисление q= p*s[i] и проверка потом q<=N ?
Это тривиально обходится:
До вычисления числа q проверяем условие: p<=N/s[i] или s[i]<=N/p.
Так что никакой отрицательной стороны нет.

Кстати в твоем алгоритме явно есть проблема с маленькими числами:
Введите максимальное число N(не более 32767)
Почему такое странное ограничение ?
Я рассчитываю что мой алгоритм будет работать до N==2147483647 включительно

Добавлено через 1 минуту
Кстати из алгоритма видно, что наибольшее число вопросов будет задано если загадано n==1
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru