0 / 0 / 0
Регистрация: 13.04.2018
Сообщений: 19
1

Вывести все четырехзначные числа в диапазоне от A до B, в записи которых есть 3 одинаковые цифры

30.04.2018, 23:41. Показов 4208. Ответов 5
Метки нет (Все метки)

Написал данную программу, но не могу понять, куда нужно вставить условие для промежутка (чтобы при выходе за промежуток выдавало сообщение с ошибкой)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var i,A,B,C1,C2,C3,C4 : integer;
begin
 writeln('Введите промежуток:');
 write('A=');
 read(A);
 write('B=');
 read(B);
 for i:= A to B do
 begin
  C1:=i div 1000;
  C2:=(i mod 1000) div 100;
  C3:=((i mod 10000) div 10) mod 10;
  C4:=i mod 10;
   if (((C1 = C2) and (C1 = C3)) or 
   ((C1 = C2) and (C1 = C4)) or 
   ((C2 = C3) and (C2 = C4)) or 
   ((C3 = C4) and (C3 = C1))) then
  writeln(i);
 end;
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2018, 23:41
Ответы с готовыми решениями:

Найти все четырехзначные числа, в которых есть две одинаковые цифры
найти все четырехзначные числа, в которых есть две одинаковые цифры

Найти все четырёхзначные числа,в которых есть две одинаковые цифры
Найти все четырёхзначные числа,вкоторых есть две одинаковые цифры

Найти все четырехзначные числа, в которых есть две одинаковые цифры
Найти все четырехзначные числа, в которых есть две одинаковые цифры! Заранее благодарю! Кто чем...

Найти все четырехзначные числа, в которых есть две одинаковые цифры
Найти все четырехзначные числа, в которых есть две одинаковые цифры.

5
Эксперт по математике/физике
4427 / 3227 / 1042
Регистрация: 01.09.2014
Сообщений: 8,981
30.04.2018, 23:59 2
О каком выходе за промежуток вы говорите, если у вас цикл for i:= A to B do, то есть i меняется от A до B включительно?

Почему C3:=((i mod 10000) div 10) mod 10, а не C3 := (i mod 100) div 10?
1
0 / 0 / 0
Регистрация: 13.04.2018
Сообщений: 19
01.05.2018, 00:52  [ТС] 3
в условии задачи нужно сделать программу только для четырехзначных чисел

за замечание в C3 спасибо

Добавлено через 6 минут
т.е. мое условие (A>=-9999 and B<=9999)
0
Эксперт по математике/физике
4427 / 3227 / 1042
Регистрация: 01.09.2014
Сообщений: 8,981
01.05.2018, 00:52 4
Лучший ответ Сообщение было отмечено Batuade как решение

Решение

Если вы имеете в виду, что условие не подразумевает, что A и B — четырехзначные, то, можно вести цикл от max(1000, A) до min(9999, B).
1
0 / 0 / 0
Регистрация: 13.04.2018
Сообщений: 19
01.05.2018, 00:58  [ТС] 5
а что касательно отрицательных цифр?
0
Эксперт по математике/физике
4427 / 3227 / 1042
Регистрация: 01.09.2014
Сообщений: 8,981
01.05.2018, 01:06 6
Вообще есть предположение, что под k-значными числами имеются в виду натуральные. Но если вы точно знаете, что нужно рассматривать и отрицательные числа, делайте два цикла: один для отрицательных чисел, другой для положительных. Это если A < 0 < B. Если A и B одного знака, то достаточно одного цикла.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.05.2018, 01:06
Помогаю со студенческими работами здесь

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

Найти все четырехзначные числа, в которых есть две одинаковые цифры
Программа работает, но что-то с условием. Выдаются числа, где и 3 цифры одинаковы. Проверьте,...

Вывести на экран все четырехзначные числа, в которых ровно три одинаковые цифры
Даны четырехзначные натуральные числа N и K. Из чисел от N до K выбрать те, запись которых содержит...

Вложенные циклы(Вывести на экран все четырехзначные числа, в которых ровно три одинаковые цифры)
Вывести на экран все четырехзначные числа, в которых ровно три одинаковые цифры. Подсчитать...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru