Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Консультации по математике


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 282
∙ повысить рейтинг »
epimkin
Статус: Практикант
Рейтинг: 268
∙ повысить рейтинг »
Konstantin Shvetski
Статус: Профессор
Рейтинг: 70
∙ повысить рейтинг »

∙ Математика

Номер выпуска:2390
Дата выхода:29.12.2018, 05:15
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:90 / 86
Вопросов / ответов:1 / 1

Консультация # 194280: Уважаемые эксперты! Пожалуйста, ответьте на вопрос: Найдите наименьшее натуральное число n, такое, что n^2 и (n+1)^2 содержат цифру 7, а (n+2)^2 не содержит....

Консультация # 194280:

Уважаемые эксперты! Пожалуйста, ответьте на вопрос:

Найдите наименьшее натуральное число n, такое, что n^2 и (n+1)^2 содержат цифру 7, а (n+2)^2 не содержит.

Дата отправки: 23.12.2018, 13:56
Вопрос задал: kenguru_62 (1-й класс)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Алексеев Владимир Николаевич (Мастер-Эксперт):

Здравствуйте, kenguru_62!
В условии задачи не предписан метод решения. Я полагаю, эту задачу проще всего решить методом простого перебора с помощью мини-программки на языке VBScript . Это - простейший язык программирования. Для его использования не нужны ни компиляция, ни установка среды программирования. Мало кто знает, что в каждой Windows-системе уже встроен обработчик VBScript , и народ "убивает время" на комп-игры по чужому сценарию вместо того, чтобы играть в мини-программки по своему сценарию с гораздо бОльшей практической пользой.

В этом простом языке отсутствует специальная команда поиска символа в строке, поэтому, чтоб узнать наличие символа из переменной s0 в строке или слове n2 приходится использовать команду Split(n2,s0) - разрезать фразу n2 в массив фрагментом s0 . Затем функция UBound() получает верхний индекс полученного массива. Поскольку отсчёт элементов массива ведётся с "0", то UBound-значение <1 означает, что запрош енный символ отсутствует в строке (строка НЕ разрезалась).

Условный оператор if [условие] проверяет истинность заданного условия. Если условие истинно, то выполняются команды после ключевого слова then . В противном случае выполняются команды после ключе-слова Else .
Я снабдил прог-текст скрипта подробными комментариями. Обработчик прог-слов игнорирует эти комменты правее символа ['] до конца строки.

Ниже-код скрипта надо вставить в текстовый файл, сохранить его и затем переименовать его расширение .txt на .vbs . Готовый скрипт "194280 Нал цифры 7.vbs" и скриншот его выполнения прилагаю.

s0="7" ' Задали, которую цифру искать. Вместо "7" можно задать "0", "9" и даже "Ы"
Msg="" : itog="	Решение НЕ найдено!" 'Очистили накопитель итогового сообщения.
For n0=1 to 40 'Цикл от 1 до 40 будет исполнять команды, перечисленные до слова Next .
  n2=n0^2 : s2=n0 & "^2=" & n2
  if UBound(Split(n2,s0))<1 then
    s2=s2 & " НЕ содержит цифру " & s0 & " ."
  Else s2=s2 & " содержит цифру " & s0 & " , "
    n3=(n0+1)^2 : s3="(" & n0 & "+1)^2=" & n3
    if UBound(Split(n3,s0))<1 then	'ниже vbLf - перенос строки с после-отступом.
      s2=s2 & vbLf & "   Однако, " & s3 & " НЕ содержит цифру " & s0 & " ."
    Else s2=s2 & "И " & s3 & " содержит цифру " & s0 & " ."
      n3=(n0+2)^2 : s3="(" & n0 & "+2)^2=" & n3
      if UBound(Split(n3,s0))>0 then
        s2=s2 & vbLf & "   Однако, " & s3 & " содержит цифру " & s0 & " ."
      Else s2=s2 & vbLf & "   И " & s3 & " НЕ содержит цифру " & s0 & " !"
        Msg=Msg & s2 & vbLf : itog="	Решение найдено!" : Exit For ' обрыв цикла
      End if
    End if
  End if
  Msg=Msg & s2 & vbLf
Next
WScript.Echo Msg & itog	'вывод результатов на экран.


Поскольку перебор чисел ведётся от 1 (минимального натурального числа), значит первое же найденное решение - число 27 есть "наименьшее натуральное число n", удовлетворяющее условию задачи. Эксперт kovalenina правильно решила Вашу задачу 2 дня назад.

Вы можете из контекстного меню скрипта выбрать команду "Изменить". Код скрипта откроется в текстовом редакторе "Блокнот". Поиграйте присвоением, замените s0="7" на s0="0" , или на s0="9" чтоб задать другую цифру для поиска.

Консультировал: Алексеев Владимир Николаевич (Мастер-Эксперт)
Дата отправки: 25.12.2018, 14:32
Прикреплённый файл: посмотреть » [991 байт]

5
нет комментария
-----
Дата оценки: 28.12.2018, 20:40

Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное