Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
мрникита
2 / 2 / 0
Регистрация: 07.02.2013
Сообщений: 61
1

Произведение цифр трехзначного числа кратно 11, само число также делится на 11. Найти количество таких чисел

17.05.2015, 18:37. Просмотров 1615. Ответов 13
Метки нет (Все метки)

Здравствуйте.
Буду благодарен, если поможете с решением задачи.
Произведение цифр трехзначного числа кратно 11, само число также делится на 11. Найти количество таких чисел.

За комментарии к строчкам кода особенно благодарен)

Добавлено через 1 час 17 минут
Такое решение возможно?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
uses crt;
var a,b,c,d,i,s:integer;
begin
for i:=100 to 999 do
begin
a:=i div 100;
b:=i mod 10;
c:=i mod 100;
d:=c div 10;
s:=a*b*d;
if (s mod 11=0) and (i mod 11=0) then
write(i,' ');
end;
end.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2015, 18:37
Ответы с готовыми решениями:

Сумма цифр трехзначного числа кратна 7, само число также делится на 7. Найдите все такие числа
Сумма цифр трехзначного числа кратна 7, само число также делится на 7. Найдите все такие числа.

Сумма цифр трёхзначного числа кратна 7, само число также делится на 7. Найти все такие числа.
1) Сумма цифр трёхзначного числа кратна 7, само число также делится на 7. Найти все такие числа ...

Найти все четырехзначные числа,у которых сумма крайних цифр равна сумме средних цифр,а само число делится на 6 и 27
Найти все четырехзначные числа,у которых сумма крайних цифр равна сумме средних цифр,а само число...

Найти все четырёхзначные числа, у которых сумма крайних цифр равна сумме средних цифр, а само число делится на 6 и 27.
Помогите решить ещё одну задачку :) Найти все четырёхзначные числа, у которых сумма крайних цифр...

Найти все натуральные трехзначные числа, сумма цифр которых кратна заданному натуральному числу B и само число также дел
Составить программу на языке Паскаль: Найти все натуральные трехзначные числа, сумма цифр которых...

13
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
5037 / 3503 / 4083
Регистрация: 05.06.2014
Сообщений: 17,695
17.05.2015, 18:56 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

А есть такие числа вообще?

Добавлено через 20 секунд
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses
  crt;
var
  a,b,c,d,i,s:integer;
begin
  for i:=100 to 999 do
    begin
      a:=i div 100; //write(a:4);   // 1
      b:=i mod 10;  //write(b:4);   // 3
      c:=i mod 100; //write(c:4);
      d:=c div 10;  //write(d:4);   // 2
      s:=a*b*d;       //     write(s:4);
      if (s mod 11=0) and (i mod 11=0) and (s<>0) then
        write(i,' ',s,' ');
    end;
  readln;
end.
2
ФедосеевПавел
Модератор
5039 / 2714 / 1091
Регистрация: 01.02.2015
Сообщений: 8,809
Записей в блоге: 1
17.05.2015, 19:05 3
Цитата Сообщение от ZX Spectrum-128 Посмотреть сообщение
А есть такие числа вообще?
Действительно, т.к. среди множителей s:=a*b*c отсутствуют двузначные, а тем более равные 11, то программа сокращается
Pascal
1
2
3
4
program Test;
begin
  writeln('Нет таких чисел');
end.
1
Puporev
Модератор
58026 / 44157 / 30502
Регистрация: 18.05.2008
Сообщений: 105,719
17.05.2015, 19:17 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
uses crt;
var a,b,c,i,s:integer;
begin
for i:=100 to 999 do
 begin
  a:=i div 100;//первая цифра
  b:=i div 10 mod 10; //вторая цифра
  c:=i mod 10;//третья цифра
  s:=a*b*c;//произведение цифр
  if (s mod 11=0) and (i mod 11=0) then write(i,' ');
 end;
end.
Добавлено через 8 минут
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Нет таких чисел
А числа типа 110? произведение цифр кратно 11, как и любому другому числу
2
17.05.2015, 19:17
ФедосеевПавел
Модератор
5039 / 2714 / 1091
Регистрация: 01.02.2015
Сообщений: 8,809
Записей в блоге: 1
17.05.2015, 19:32 5

Не по теме:

Увы мне... О нуле-то я забыл...
Не удалось сократить программу.


Нет - можно. Сделать двойной цикл по первым двум цифрам числа. А третью вычислять по свойству кратности 11.
0
мрникита
2 / 2 / 0
Регистрация: 07.02.2013
Сообщений: 61
17.05.2015, 19:38  [ТС] 6
Большое спасибо всем!

Добавлено через 4 минуты
Ошибка вышла, мы выводим это число, но не количество таких чисел же.
0
ФедосеевПавел
Модератор
5039 / 2714 / 1091
Регистрация: 01.02.2015
Сообщений: 8,809
Записей в блоге: 1
17.05.2015, 19:49 7
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Что-то не короче вышло, только выпендрёжнее (и быстрее в 10 раз).
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program Eleven;
 
var
  d1, d2, d3: integer;
  n: integer;
begin
  for d1 := 1 to 9 do
    for d2 := 0 to 9 do
    begin
      d3 := d2 - d1;
      if (d3 < 0) or (d3 > 9) then
        continue;
      n := d1 * 100 + d2 * 10 + d3;
      if ((d1 * d2 * d3) mod 11 = 0) and (n mod 11 = 0) then
        writeln(n);
    end;
end.
1
мрникита
2 / 2 / 0
Регистрация: 07.02.2013
Сообщений: 61
17.05.2015, 19:51  [ТС] 8
Если не сложно, можете прокоментировать строчки :-)
0
ФедосеевПавел
Модератор
5039 / 2714 / 1091
Регистрация: 01.02.2015
Сообщений: 8,809
Записей в блоге: 1
17.05.2015, 19:58 9
мрникита, если есть возможность - не бери мой вариант - он сложнее по математике, которую ты не знаешь.
А в общих чертах
- организуется перебор двух первых цифр трёхзначного числа (d1 и d2)
- третья цифра (d3) вычисляется из свойств кратности числу 11 применительно к 3-хзначным числам.
- d3 проверяется на корректность, если не корректна, то продолжается цикл по d2.
- если выполняется условие задания, то такое число распечатывается
0
мрникита
2 / 2 / 0
Регистрация: 07.02.2013
Сообщений: 61
17.05.2015, 20:00  [ТС] 10
Число находиться, но не количество же таких чисел, так?
0
ФедосеевПавел
Модератор
5039 / 2714 / 1091
Регистрация: 01.02.2015
Сообщений: 8,809
Записей в блоге: 1
17.05.2015, 20:04 11
В моём варианте №2 (пост #7) - да.
0
мрникита
2 / 2 / 0
Регистрация: 07.02.2013
Сообщений: 61
17.05.2015, 20:07  [ТС] 12
Мне вот нужно количество таких чисел по условию задачки.
0
ZX Spectrum-128
Модератор
Эксперт Pascal/Delphi
5037 / 3503 / 4083
Регистрация: 05.06.2014
Сообщений: 17,695
17.05.2015, 20:09 13
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
uses crt;
var k,a,b,c,i,s:integer;
begin
k:=0;
for i:=100 to 999 do
 begin
  a:=i div 100;//первая цифра
  b:=i div 10 mod 10; //вторая цифра
  c:=i mod 10;//третья цифра
  s:=a*b*c;//произведение цифр
  if (s mod 11=0) and (i mod 11=0) then inc(k);
 end;
writeln(k);
end.
1
ФедосеевПавел
Модератор
5039 / 2714 / 1091
Регистрация: 01.02.2015
Сообщений: 8,809
Записей в блоге: 1
17.05.2015, 20:11 14
А-а-а. Ну переделай. Только не говори, что не можешь объявить переменную (допустим, Count), перед циклом инициализировать её нулём, а потом вместо вывода числа делать увеличение на 1. Перед заключительным end добавить строчку с выводом Count.

Я верю в тебя!!!

----------------
Эх. Обломаж (это не жаргон - впервые услышал в оперетте "Бал в Савойе").
----------------
Но, наверное, мне так нельзя делать - с форума все разбегутся.
2
17.05.2015, 20:11
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2015, 20:11

Найти такие числа в заданном промежутке, что сумма их цифр равна 9, а само число делится на 5
Найти все трехзначные числа из промежутка , такие, что сумма их цифр равна 9, а само число...

Определить количество натуральных чисел, таких, что сумма любых трех подряд идущих цифр числа делится на 3
Определить, сколько существует натуральных k-значных (3&lt;=k&lt;=30) чисел, таких что сумма любых трех...

Найти все трехзначные числа, такие, что произведение цифр равна А, а само число делится на В (А и В вводятся с клавиатуры
Найти все трехзначные числа, такие, что произведение цифр равна А, а само число делится на В (А и В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.