Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 26.04.2016
Сообщений: 10
1

Расставить знаки +/- среди заданного набора цифр так, чтобы результатом вычисления получилось заданное число

27.04.2016, 06:33. Показов 3718. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
[DELPHI](Консольное приложение)
Дано натуральное число m. Вставить между некоторыми цифрами 1,2,3,4,5,6,7,8,9 записанными именно в таком порядке, знаки +,- так, чтобы значением получившегося выражения было число m. Например, если m=122, по подойдет следующая расстановка знаков: 12+34-5-6+78+9. Если требуемая расстановка знаков невозможна, то сообщить об этом.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2016, 06:33
Ответы с готовыми решениями:

Рекурсивно расставить знаки операций так, чтобы получилось заданное число
Нужно между цифрами от 1 до 9 расставить знаки операций +,- так, чтобы получилось заданное число,...

Расставить знаки между цифрами так, чтобы получилось заданное число
Помогите разобраться с алгоритмом. Вот задача: Имеются цифры 1, 2, 3, 4, 5, 6, 7, 8, 9....

Заданы цифры - расставить знаки сложения и вычитания так, чтобы получилось выражение с заданным результатом
Имеются цифры 1, 2, 3, 4, 5, 6, 7, 8, 9. Необходимо расставить между ними любое количество знаков...

Заданы цифры - расставить знаки сложения и вычитания так, чтобы получилось выражение с заданным результатом
Здравствуйте, задали домашнее задание. Имеются цифры 1, 2, 3, 4, 5, 6, 7, 8, 9. Необходимо...

1
1077 / 488 / 316
Регистрация: 05.04.2013
Сообщений: 2,140
27.04.2016, 07:49 2
pahm, для затравки можно этот код, но он расставляет + и - между каждой цифрой, не склеивает например 1 и 2 в 12. Может вам удастся доработать
Delphi
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
program pere;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
Const
  Nmax=24;
var
  a:array[1..Nmax] of integer;
  c:array[1..Nmax] of char;
  j,max,nummax,t,tn:integer;
  i,n,S,sum:integer;
 
begin
  { TODO -oUser -cConsole Main : Insert code here }  write('N=');
  readln(n);
  write('S=');
  readln(S);
  for i:=1 to n do
    begin
      write('a[',i,']= ');
      readln(a[i]);
    end;
  for i:=1 to n-1 do
    begin
      t:=a[i];
      max := abs(a[i]);
      nummax := i;
      for j:=i+1 to n do
        if abs(a[j])>abs(max) then
          begin
            max := a[j];
            nummax := j;
          end;
      a[i] := max;
      a[nummax] := t;
    end;
  sum:=a[1];
  for i:=2 to n do
    begin
      if abs(S-sum+a[i]) > abs(S-sum-a[i]) then
        begin
          c[i-1] := '+';
          sum := sum + a[i];
        end
      else
        begin
          c[i-1] := '-';
          sum := sum - a[i];
        end;
    end;
  if sum = s then
    begin
      write('Vyr: ');
      for i:=1 to n do
        write(a[i],c[i]);
      writeln('= ',S);
    end
  else writeln('Not solution.');
  readln;
end.
1
27.04.2016, 07:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2016, 07:49
Помогаю со студенческими работами здесь

В выражении расставить знаки арифметических операций, чтобы получилось заданное число
В арифметическом выражении 1*2*3*4*5 вместо звездочек расставить арифметические операции + , -...

Можно ли так расставить знаки, чтобы получилось число 8
Можно ли так расставить знаки (плюсы или минусы) в сумме...

Заданы цифры - расставить знаки сложения и вычитания так, чтобы получилось выражение. Учесть склеивания цифр
Заданы цифры от 1 до 9 расположенные по возрастанию или убыванию - расставить знаки сложения и...

Между заданными числами расставить знаки сложения и вычитания так, чтобы в итоге получилось указанное число
Простая задачка из школьной олимпиады (задача на асмп №366). У меня превышает лимит времени. Если...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru