Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Basic


Ответ
 
Опции темы Опции просмотра
Старый 26.10.2016, 15:20   #1 (permalink)
iks2
Member
 
Регистрация: 22.10.2016
Сообщений: 62
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Найти четырехзначное число

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

Вопросы
1. Интересно, есть ли подобное число из всех пяти четных цифр?
2. Существует ли аналог подобного числа из нечетных цифр?

Код:
REM
REM   4096
REM

CLS
 
FOR i = 10 TO 100 STEP 2
   b = i * i
   n = INT(LOG(b) / LOG(10))
   a1 = b \ 10 ^ n
   a2 = b \ 10 ^ (n - 1) MOD 10
   IF a1 MOD 2 = 0 AND a2 MOD 2 = 0 THEN PRINT b;
NEXT i
END
iks2 вне форума   Ответить с цитированием

Старый 26.10.2016, 15:20
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Может быть ваша тема уже имеет решение на нашем форуме, посмотрите тут

Что скрывает число Пи
Преследует число 666

Старый 26.10.2016, 16:00   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от iks2 Посмотреть сообщение
Кроме того искомое число состоит только из четных не повторяющихся цифр. Программа позволила найти это число 4096.
А с каких это пор 9 - четная цифра?
Vladimir_S вне форума   Ответить с цитированием
Старый 26.10.2016, 17:03   #3 (permalink)
iks2
Member
 
Регистрация: 22.10.2016
Сообщений: 62
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Vladimir_S
Извините - 6084.
9 - это конечно НЕ четная цифра. Моя ошибка - наверно к дождю...
iks2 вне форума   Ответить с цитированием
Старый 27.10.2016, 19:58   #4 (permalink)
iks2
Member
 
Регистрация: 22.10.2016
Сообщений: 62
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Аналога подобного числа из нечетных цифр не существует. Хотя можно назвать число 1. Но оно не четырехзначное.

Последний раз редактировалось iks2; 27.10.2016 в 19:59 Причина: опечатка
iks2 вне форума   Ответить с цитированием
Старый 28.10.2016, 10:35   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Что-то, сударь, не узрел я в Вашей программе проверки условия неповторямости цифр. Потому нарисовал по-своему (Паскаль):
Код:
Var
 N,i,j,k,m,D:Word;
Begin
 for i:=1 to 4 do
  for j:=0 to 4 do
   if (j<>i) then
    for k:=0 to 4 do
     if (k<>i) and (k<>j) then
      for m:=0 to 4 do
       if (m<>i) and (m<>j) and (m<>k) then
        begin
         N:=2*i*1000+2*j*100+2*k*10+2*m;
         D:=TRUNC(Sqrt(N));
         if D*D=N then
          begin
           Writeln(D,'*',D,' = ',N);
           Readln;
           exit;
          end;
        end;
 Writeln('No such values!');
 Readln
End.
Проверил по тому же алгоритму существование решения для пяти- и шестизначных чисел. Нету. Но если, например, отказаться от условия неповторяемости цифр, оставив только требование четности, то - пожалуйста:
162*162 = 26244
478*478 = 228484
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 28.10.2016, 10:45   #6 (permalink)
iks2
Member
 
Регистрация: 22.10.2016
Сообщений: 62
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Vladimir_S
условие неповторяемости?
.....
Вы понимаете подобное условие имеет смысл, если программа выдает на экран много значений. Но если чисел скажет не более 10, то нет особого смысла вводить "лишний" код. - надо просто посмотреть и выбрать нужное (если таковое есть).
iks2 вне форума   Ответить с цитированием
Старый 28.10.2016, 10:49   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от iks2 Посмотреть сообщение
Вы понимаете подобное условие имеет смысл, если программа выдает на экран много значений. Но если чисел скажет не более 10, то нет особого смысла вводить "лишний" код. - надо просто посмотреть и выбрать нужное (если таковое есть).
Да я так и понял. Просто, полагаю, решать - так решать! Компьютер - он железный, вот пусть и сортирует.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 01:02.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.