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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2022, 03:58   #1
ALICAPAVLOVA
Новичок
Джуниор
 
Регистрация: 05.05.2022
Сообщений: 6
Восклицание Функция нахождения простых множителей

Как реализовать функцию нахождения всех
простых множителей числа A на экран
таких, что в них нет цифры B в младшем
разряде десятичной записи?
Помогите, пожалуйста

Последний раз редактировалось ALICAPAVLOVA; 05.05.2022 в 04:21.
ALICAPAVLOVA вне форума Ответить с цитированием
Старый 05.05.2022, 04:21   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Код:
Q := Round(SQRT(A) + 1);
I := 2;
while I < Q do begin
  while A mod I = 0 do begin
    A := A div I;
    if I mod 10 <> B then WriteLn(I);
  end;
  J := I;
  I := I + 1;
  while J > 1 do if I mod J = 0 then begin
    J := I;
    I := I + 1;
    if I >= Q then break;
  end else J := J - 1;
end;
Не самый оптимальный вариант, но думаю вам хватит.

Последний раз редактировалось macomics; 05.05.2022 в 04:53.
macomics вне форума Ответить с цитированием
Старый 05.05.2022, 11:30   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Судя по вопросу об треугольнике, предметом интересов ALICAPAVLOVA является С++, но это большой секрет! И он (компилятор) почешет свою лысину, узрев := и WriteLn(I)

Последний раз редактировалось digitalis; 05.05.2022 в 11:42.
digitalis вне форума Ответить с цитированием
Старый 05.05.2022, 13:36   #4
ALICAPAVLOVA
Новичок
Джуниор
 
Регистрация: 05.05.2022
Сообщений: 6
По умолчанию

Вы правы насчет C++,забыла поставить
Прошу прощения
ALICAPAVLOVA вне форума Ответить с цитированием
Старый 05.05.2022, 13:42   #5
ALICAPAVLOVA
Новичок
Джуниор
 
Регистрация: 05.05.2022
Сообщений: 6
По умолчанию

digitalis,а вы только оставляете ироничные комментарии или это ваш способ помочь?
Если со своим багажом знаний вы помогли, я была б рада

Последний раз редактировалось ALICAPAVLOVA; 05.05.2022 в 13:48.
ALICAPAVLOVA вне форума Ответить с цитированием
Старый 05.05.2022, 14:08   #6
ALICAPAVLOVA
Новичок
Джуниор
 
Регистрация: 05.05.2022
Сообщений: 6
По умолчанию

Вы правы насчет C++,забыла поставить
Прошу прощения
Цитата:
Сообщение от macomics Посмотреть сообщение
Код:
Q := Round(SQRT(A) + 1);
I := 2;
while I < Q do begin
  while A mod I = 0 do begin
    A := A div I;
    if I mod 10 <> B then WriteLn(I);
  end;
  J := I;
  I := I + 1;
  while J > 1 do if I mod J = 0 then begin
    J := I;
    I := I + 1;
    if I >= Q then break;
  end else J := J - 1;
end;
Не самый оптимальный вариант, но думаю вам хватит.
Комментатор digitalis прав насчет С++,спасибо вам за помощь
ALICAPAVLOVA вне форума Ответить с цитированием
Старый 05.05.2022, 14:45   #7
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Я с удовольствием бы, но С++ - не моя стихия, боюсь хуже сделать, чем помочь. Если надо на Фортране-IV или PL-I - обращайтесь. А уж Дельфи - так могу и кофию не попить, решаючи.
А мои комменты хоть и ироничные, но беззлобные и служат токмо направлению молодых умов к чётким формулировкам. Математика и программирование в т.ч. - это не съезд КПСС и требует определённости. Шаг влево-вправо - расстрел ошибка.
-------------
Вот помощь нр.1 - практическая: не надо посты один за одним, используйте кнопку ПРАВКА.
digitalis вне форума Ответить с цитированием
Старый 05.05.2022, 16:53   #8
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Цитата:
Комментатор digitalis прав насчет С++,спасибо вам за помощь
Код:
int Q = round(sqrt(A) + 1), I = 2, J;
while (I < Q) {
  while (A % I = 0) {
    A /= I;
    if (I % 10 <> B) cout << I;
  }
  J = I++;
  while (J > 1) if (I % J = 0) {
    J = I++;
    if (I >= Q) break;
  } else J--;
}
Вроде не очень сильно отличается же?

Последний раз редактировалось macomics; 05.05.2022 в 16:56.
macomics вне форума Ответить с цитированием
Старый 06.05.2022, 19:42   #9
ALICAPAVLOVA
Новичок
Джуниор
 
Регистрация: 05.05.2022
Сообщений: 6
Радость

Еще раз большое спасибо вам!
ALICAPAVLOVA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм нахождения простых чисел Pein95 C# (си шарп) 1 03.08.2011 03:50
функция нахождения max/min эл-та в массиве Zhenya-Pvl Паскаль, Turbo Pascal, PascalABC.NET 3 20.12.2010 14:31
алгоритм нахождения простых чисел Pein95 Паскаль, Turbo Pascal, PascalABC.NET 2 07.12.2010 17:39
Алгоритм нахождения простых чисел ardor Помощь студентам 1 20.11.2009 00:00
задача: сформировать массив простых множителей заданного числа в борланде на Си Akelas13 Помощь студентам 13 24.05.2009 18:11