• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Найти четырехзначное число

  • Автор темы Автор темы iks2
  • Дата начала Дата начала

iks2

Новые
Регистрация
22 Окт 2016
Сообщения
62
Реакции
0
Баллы
0
Найти четырехзначное число

Задача
Найти наименьшее четырехзначное число такое, что это число является квадратом целого числа. Кроме того искомое число состоит только из четных не повторяющихся цифр. Программа позволила найти это число 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
 
Vladimir_S
Извините - 6084.
9 - это конечно НЕ четная цифра. Моя ошибка - наверно к дождю...
 
Аналога подобного числа из нечетных цифр не существует. Хотя можно назвать число 1. Но оно не четырехзначное.
 
Последнее редактирование:
Что-то, сударь, не узрел я в Вашей программе проверки условия неповторямости цифр. Потому нарисовал по-своему (Паскаль):
Код:
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
условие неповторяемости?
.....
Вы понимаете подобное условие имеет смысл, если программа выдает на экран много значений. Но если чисел скажет не более 10, то нет особого смысла вводить "лишний" код. - надо просто посмотреть и выбрать нужное (если таковое есть).
 
Вы понимаете подобное условие имеет смысл, если программа выдает на экран много значений. Но если чисел скажет не более 10, то нет особого смысла вводить "лишний" код. - надо просто посмотреть и выбрать нужное (если таковое есть).
Да я так и понял. Просто, полагаю, решать - так решать! Компьютер - он железный, вот пусть и сортирует. :D
 
Назад
Сверху