Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 16.02.2014
Сообщений: 3

Составьте программу, с помощью которой можно вычислить, на какой клетке суммарное количество зерен превысит N штук

16.02.2014, 21:04. Показов 2125. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В старинной легенде шах решил наградить мудреца. Мудрец попросил выдать ему в качестве награды зерно, причем количество зерен он определил так: на 1-ю клетку шахматной доски положить 1 зерно, на 2-ю клетку – 2 зерна, на 3-ю – 4 зерна, на 4-ю – 8 зерен и т. д. Составьте программу, с помощью которой можно вычислить, на какой клетке суммарное количество зерен превысит N штук. Диаграмму можно построить после ознакомления с графическими методами в практической работе 12.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.02.2014, 21:04
Ответы с готовыми решениями:

На какой клетке суммарное количество зерен превысит N штук, если на первую положить одно зерно, на вторую 2, на 3-ю 4 и т.д.
В старинной легенде шах решил наградить мудреца. Мудрец попросил выдать ему в качестве награды зерно, причем количество зерен он определил...

Вычислить количество зерен на любой N-ой клетке шахматной доски
Индийский раджа Шерам позвал к себе изобретателя шахмат ученого Сету и предложил, чтобы тот сам выбрал себе награду за создание...

Создайте программу, в которой выводится количество зерен для каждой клетки шахматной доски от первой до 64-й
Создайте программу, в которой выводится количество зерен для каждой клетки шахматной доски от первой до 64-й, так чтобы на 1 клетку...

16
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
17.02.2014, 06:08
Цитата Сообщение от 1nffek Посмотреть сообщение
Составьте программу, с помощью которой можно вычислить, на какой клетке суммарное количество зерен превысит N штук.
1)
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Option Explicit
'
'    © FelixMacintosh
'
Public Function Kletk$(Optional N)
    Dim d#
    Randomize Timer
    While Not IsNumeric(N): N = InputBox("Введите значение N:= ", , Fix(Rnd * 2 ^ 16)): Wend
    d = 1:  Kletk = "0"
    While d < N: d = d * 2: Kletk = Kletk + 1: Wend
    Kletk = "Введенное число = " & N & vbCrLf & _
    "Клетка на которой сумарное количество превысило = " & Kletk & vbCrLf & _
    "Выйти ?"
End Function
Private Sub Form_Unload(Cancel As Integer)
    Cancel = MsgBox(Kletk, vbYesNo) <> vbYes
End Sub
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
17.02.2014, 08:42
SoftIce, вы скинули ссыль, где практически тоже самое,
вы придумываете методы точно такие-же как у меня )
но у меня конечно же лучше
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
17.02.2014, 09:30
FelixMacintosh, там было и другое решение, отличное от Вашего.
Цитата Сообщение от FelixMacintosh Посмотреть сообщение
но у меня конечно же лучше
 Комментарий модератора 
А вот за подобное в следующий раз получите карту!
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
17.02.2014, 09:38
Я тоже могу одной строчкой писать, и так даже правильнее
Число зёрен = Fix(Log(N - 1) / Log(2) + 1)

Добавлено через 1 минуту
Вот:
https://www.cyberforum.ru/post5769910.html
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
17.02.2014, 09:47
Цитата Сообщение от FelixMacintosh Посмотреть сообщение
так даже правильнее
Проверь для N=7 (на третьей или четвёртой клетке к-во зёрен превысит 7?)
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
17.02.2014, 09:49
Visual Basic
1
2
3
4
5
6
7
Private Sub Form_Activate()
    'Проверка
    Dim Числозёрен,  f
    For f = 1 To 8
        Print "n = " & 2 ^ f & " // Числозёрен = " & Fix(Log((2 ^ f) - 1) / Log(2) + 1)
    Next
End Sub
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
17.02.2014, 09:59
Цитата Сообщение от FelixMacintosh Посмотреть сообщение
'Проверка
Вы в состоянии прочитать условие задачи?
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
17.02.2014, 10:56
Добавлено через 6 минут
Цитата Сообщение от Апострофф Посмотреть сообщение
превысит 7
по идее семёрка 3 раза разделится на 2
я из этого исходил, тоесть на сколько способно N разделится раз, чтоб стало =0

Аналог двоичного счёта
0 =0
1 =1
10 =2
11 =3
100 =4
101 =5
110 =6
111 =7

Добавлено через 28 минут
Пошаговая проверка !

Visual Basic
1
2
3
4
5
6
7
Private Sub Form_Activate()
    Dim Числозёрен, n, f
    For n = 2 To 50
 
        Print "n = " & n & " // Числозёрен = " & Fix(Log(n - 1) / Log(2) + 1)
    Next
End Sub
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
17.02.2014, 11:00
Цитата Сообщение от 1nffek Посмотреть сообщение
на какой клетке суммарное количество зерен превысит N штук
Задан конкретный вопрос
Цитата Сообщение от Апострофф Посмотреть сообщение
на какой клетке к-во зёрен превысит 7?
что ответила Ваша ф-ия? Хватить пургу гнать.
0
17.02.2014, 11:16

Не по теме:

Я не буду спорить, займусь лучше чем-нибудь полезным, соглашусь для формальности что вы правы
P.S
мне просто не понятно откуда вы это число взяли 1.01 ?

Цитата Сообщение от Апострофф Посмотреть сообщение
1 + Int((Log(InputBox("Сколько зёрен") + 1.01)) / Log(2))

0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
17.02.2014, 13:04
Цитата Сообщение от FelixMacintosh Посмотреть сообщение
не понятно откуда вы это число взяли 1.01
а если ещё подумать?
Visual Basic
1
2
3
4
5
6
?log(8)/log(2)
 3 
?int(log(8)/log(2))
 2 
?log(8)/log(2)-3
-1,60245081093358E-16
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
17.02.2014, 13:19
Цитата Сообщение от Апострофф Посмотреть сообщение
а если ещё подумать?
Почему бы не написать так?
Visual Basic
1
CSng(Log(8) / Log(2))
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
17.02.2014, 13:21
Цитата Сообщение от The trick Посмотреть сообщение
Почему бы не написать так?
Visual Basic
1
CSng(Log(8) / Log(2))
А как это связать с ответом на поставленную задачу?
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
17.02.2014, 13:24
Цитата Сообщение от Апострофф Посмотреть сообщение
А как это связать с ответом на поставленную задачу?
log(8)/log(2)-3=-1,60245081093358E-16
CSng(log(8)/log(2))-3=0
Visual Basic
1
1 + Int(cSng(Log(n + 1) / Log(2)))
3
17.02.2014, 13:54

Не по теме:

Работает, как ни парадоксально:scratch:
Хотя, по идее, тоже костыль:D

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.02.2014, 13:54
Помогаю со студенческими работами здесь

Создать пользовательскую форму, с помощью которой можно вычислить значение функции
10. Создайте пользовательскую форму, с помощью которой можно вычислить значение функции y=2cos(3Пх)Sin(Пх)+(sin(3Пx))/x

Составить программу, с помощью которой можно сформировать текстовый файл из строк
Составить программу, с помощью которой можно сформировать текстовый файл из строк, которые должны быть выведены с клавиатуры. Помогите...

Написать программу с помощью которой можно вести учёт успеваемости студентов
Здраствуйте. Вот задали написать программу которой можно будет вести отчет по успеваемости студентов. Задание: Написать программу с...

Создайте пользовательскую форму, с помощью которой можно вычислить значение функции пользователя
Если у кого-то появится желание помочь, пишите на почту... ..... Вышлю образец и пограммы с функцией пользователя (задание 2) и массивом...

На какой день эксперимента количество «Белочки» превысит количество «Кара-Кума»
Практическая работа Задание 5. Составить программу решения задачи с использованием конструкции «Цикл с постусловием»: В первый день...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru