Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
12 / 12 / 2
Регистрация: 27.11.2011
Сообщений: 662
1

Трёхзначное число

21.01.2021, 23:07. Просмотров 580. Ответов 7
Метки нет (Все метки)

Всем доброго здоровичка! Такая задачка:
Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам.
1. Из цифр, образующих десятичную запись N, строятся наибольшее и наименьшее возможные двузначные числа (числа не могут начинаться с нуля).
2. На экран выводится разность полученных двузначных чисел.
Пример. Дано число N = 351. Наибольшее двузначное число из заданных цифр – 53, наименьшее – 13. На экран выводится разность 53 – 13 = 40.
Вывести трёхзначные числа N, в результате обработки которых автомат выдаст число 35.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
   x,i,a,b,c,d:integer;
begin
  for  a:=100 to 999 do begin
    x:=a;
  
     b:=x mod 10;
     c:=x div 100;
     d:=x div 10 mod 10;
  
  if (((b*10+c)-(c*10+d))=35)or(((b*10+d)-(d*10+c))=35)or(((c*10+d)-(b*10+c))=35)then println(a);
 
  end;
end.
Помогите плиззз решить, бьюсь который час.
Если можно, в новом и старом варианте. Спасибо заранее!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.01.2021, 23:07
Ответы с готовыми решениями:

Функции. Вернуть трехзначное число по известным цифрам и определить, кратно ли полученное число трем
Доброго времени суток! Не пойму, как из 3 отдельных цифр, введённых пользователем, получить...

Какое трехзначное число равно кубу цифры его единиц
Какое трехзначное число равно кубу цифры его единиц, а также квадрату числа, составленного из его...

Получить случайное трехзначное число и вывести его отдельные цифры
Получить случайное трехзначное число и вывести его отдельные цифры : получено число 123 сотни 1...

Найти и вывести минимальное трехзначное число, записанное в данном массиве
Дан целочисленный массив из 30 элементов, все элементы которого – неотрицательные числа, не...

7
0 / 0 / 0
Регистрация: 09.11.2020
Сообщений: 4
21.01.2021, 23:46 2
У меня получились на выходе числа: 149 150 261 372 483 516 594 627 738 849 850 961

Код:
Кликните здесь для просмотра всего текста
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var
   x,a,b,c,d:integer;
   s,u:string;
begin
  for a:=100 to 999 do begin
    x:=a;
    s:=IntToStr(x);
    u:=Copy(s,0,2);
    b:=StrToInt(u);
    u:=Copy(s,2,2);
    c:=StrToInt(u);
    if ((b>9)and(c>9))then begin
    if (b>c)then d:=b-c;
    if (c>b)then d:=c-b;
    if (d=35)then println(a);
      end;
  end;
end.


Скрин:
Кликните здесь для просмотра всего текста
Трёхзначное число


P.S.: Уверен можно написать куда правильней, но задача вроде как решается верно.
0
1492 / 837 / 362
Регистрация: 07.04.2017
Сообщений: 3,374
22.01.2021, 02:20 3
Цитата Сообщение от kirillband Посмотреть сообщение
149
94-14 = 80. Вроде решается неверно. И ни одно из ваших чисел не подходит.

Я даже больше скажу - ни одно из трёхзначных чисел не подходит:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
##
for var i3 := 0 to 9 do
  for var i2 := i3 to 9 do
    for var i1 := i2.ClampBottom(1) to 9 do
    begin
      
      var n1 := i1*10 + i2;
      var n2 := if i3=0 then
        i1*10 + i3 else
        i3*10 + i2;
      
      //ToDo Временно убрал, с ним выводит только правильные результаты, которых нет
//      if n1-n2 <> 35 then continue;
      
      $'{i1}{i2}{i3}: {n1} - {n2} = {n1-n2}'.Println;
      if i2<>i3 then
      $'{i1}{i3}{i2}: {n1} - {n2} = {n1-n2}'.Println;
      
      if i2=0 then continue;
      if i2<>i1 then
      begin
      $'{i2}{i1}{i3}: {n1} - {n2} = {n1-n2}'.Println;
      if i1<>i3 then
      $'{i2}{i3}{i1}: {n1} - {n2} = {n1-n2}'.Println;
      end;
      
      if i3=0 then continue;
      if i3<>i2 then
      begin
      $'{i3}{i2}{i1}: {n1} - {n2} = {n1-n2}'.Println;
      if i1<>i2 then
      $'{i3}{i1}{i2}: {n1} - {n2} = {n1-n2}'.Println;
      end;
      
    end;
1
0 / 0 / 0
Регистрация: 09.11.2020
Сообщений: 4
22.01.2021, 02:26 4
Действительно, крайне невнимательно прочёл условие. Мерси за разъяснение.
0
Эксперт Pascal/Delphi
2357 / 1277 / 1483
Регистрация: 29.08.2014
Сообщений: 4,600
22.01.2021, 06:21 5
Цитата Сообщение от Sun Serega Посмотреть сообщение
Я даже больше скажу - ни одно из трёхзначных чисел не подходит:
Целых 4 числа
508
580
805
850


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
begin
  for var i:=1 to 9 do
    for var j:=0 to 9 do
      for var k:=0 to 9 do
        begin
          var a:=max(i,max(j,k));
          var c:=min(i,min(j,k));
          var b:=i+j+k-a-c;
          var d:=a*10+b;
          var e:=c=0?b*10:c*10+b;
          if d-e=35 then writeln(i*100+j*10+k);
        end;
end.
1
12 / 12 / 2
Регистрация: 27.11.2011
Сообщений: 662
22.01.2021, 09:33  [ТС] 6
Joy, Спасибо! Ваш код работает.
Цитата Сообщение от Joy Посмотреть сообщение
var e:=c=0?b*10:c*10+b;
а что это за вопросик??? И, если можно его заменить, то что нужно добавить???
0
Эксперт Pascal/Delphi
2357 / 1277 / 1483
Регистрация: 29.08.2014
Сообщений: 4,600
22.01.2021, 09:39 7
Цитата Сообщение от timsc1 Посмотреть сообщение
а что это за вопросик??? И, если можно его заменить, то что нужно добавить???
для замены
Pascal
1
2
3
4
...
var e:integer;
if c=0 then e:=b*10 else e:=c*10+b;
...
или так
Pascal
1
2
  var e:=c*10+b;
  if e<10 then e:=e*10;
1
12 / 12 / 2
Регистрация: 27.11.2011
Сообщений: 662
22.01.2021, 09:50  [ТС] 8
Joy, Спасибо!!! Дай Вам БОГ здоровья! Всем спасибо за помощь!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.01.2021, 09:50

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Написать программу которая из трех цифр составит наибольшее трёхзначное число
Написать программу которая из трех введённых нами цифр составит наибольшее трёхзначное число

Дано трехзначное число. Найти произведение его первой и второй цифры
ХЕЕЕЕЕЛП

Дано трёхзначное натуральное число. Является ли цифра единиц равной 3 или 7?
Дано трёхзначное натуральное число. Является ли цифра единиц равной 3 или 7?

Дано трехзначное число, определите является ли двузначным числом сумма его цифр
почему у меня пишет ошибка : Нет перегруженной подпрограммы с такими типами параметров Var ...

Если число трёхзначное - вывести первую цифру этого числа, иначе последнюю
Дано число N,если оно трёхзначное вывести первую цифру этого числа,если нет,то последнюю.

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


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

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

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