Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2015, 20:25   #1
Роял
Пользователь
 
Регистрация: 25.01.2015
Сообщений: 10
По умолчанию Найти все трехзначные числа, квадраты которых оканчиватюся тремя цифрами, которые и составляют искомые числа (на ABC pascal)

найти все трехзначные числа, квадраты которых оканчиватюся тремя цифрами, которые и составляют искомые числа!
Роял вне форума Ответить с цитированием
Старый 29.01.2015, 20:30   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цикл по всем трехзначным числам.
Если (i * i) mod 1000 = i, то вывести число.
Хотя нет, не учел случая, что цифры могут быть в другом порядке.
Нужно проверить, что цифры одни и те же - "порезать" исходное число на цифры и увеличивать соответствующий цифре элемент массива из 10 элементов. Затем отрезать 3 цифры от квадрата числа и уменьшать соответствующие элементы. Если после этих операций массив заполнен только нулевыми значениями, то использованы те же цифры.

Способ "по хардкору"
Преобразовывать трехзначное число в 20битное число. Каждые два бита используются для задания количества использованных цифр данного значения. Затем останется сравнить два новых числа на равенство. Для этого способа решения потребуется завести 5 переменных и 19 строк кода (проверено).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 29.01.2015 в 20:54.
BDA вне форума Ответить с цитированием
Старый 29.01.2015, 20:52   #3
Роял
Пользователь
 
Регистрация: 25.01.2015
Сообщений: 10
По умолчанию

можете написать программу мне надо завтра ее здать от этого зависит моя оценка
Роял вне форума Ответить с цитированием
Старый 29.01.2015, 20:56   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
var
  i, j: integer;
  a, b, k: LongWord;
begin
  for i := 100 to 999 do
  begin
    {сюда нужно добавить 3 строки кода, которые правильно задают значения переменных a, b, k}
    for j := 1 to 3 do
    begin
      k := k + 1 shl ((a mod 10) * 2) - 1 shl ((b mod 10) * 2);
      a := a div 10;
      b := b div 10;
    end;
    if k = 0 then
        writeln(i);
  end;
end.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 29.01.2015, 21:09   #5
Роял
Пользователь
 
Регистрация: 25.01.2015
Сообщений: 10
По умолчанию

не могли бы вы их написать?
Роял вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти первые 4 четыре натуральных числа, пятая степень которых оканчивается тремя одинаковыми цифрами, кроме нулей KolinKr Паскаль, Turbo Pascal, PascalABC.NET 3 26.01.2012 15:37
Квадраты некоторых трехзначных чисел оканчиваются тремя цифрами, которые как раз и со-ставляют исходные числа. Найти все такие monokol Помощь студентам 1 24.12.2011 13:57
Квадраты некоторых трехзначных чисел оканчиваются тремя цифрами, которые как раз и со-ставляют исходные числа. Найти все такие monokol Паскаль, Turbo Pascal, PascalABC.NET 1 23.12.2011 18:01
Квадраты некоторых трехзначных чисел оканчиваются тремя цифрами, которые как раз и со-ставляют исходные числа. Найти все такие monokol Паскаль, Turbo Pascal, PascalABC.NET 1 23.12.2011 16:44
Квадраты нескольких 3-xзначных чисел оканчиваются 3 цифрами, которые составляют исходные числа. Найти эти числа. Паскаль zig1 Паскаль, Turbo Pascal, PascalABC.NET 2 12.10.2011 09:32