- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
- 64
- 65
- 66
- 67
- 68
// p2.cpp : Defines the entry point for the console application.
// Язык Visual C++ 7.0
// Консольное приложение
// 13.07.2016
#include "stdafx.h"
#include <conio.h>
int aa (int, int, int);
void ab (int);
int _tmain(int argc, _TCHAR* argv[])
{
int a, b, c, d, e;
int f;
for (a = 0; a < 4; a++)
for (b = 0; b < 4; b++)
for (c = 0; c < 4; c++)
for (d = 0; d < 4; d++)
for (e = 0; e < 4; e++)
{
f = aa (1, a, 2);
f = aa (f, b, 3);
f = aa (f, c, 4);
f = aa (f, d, 5);
f = aa (f, e, 6);
if (f == 35)
{
printf ("((((1 "); ab (a);
printf ("2) "); ab (b);
printf ("3) "); ab (c);
printf ("4) "); ab (d);
printf ("5) "); ab (e);
printf ("6 = 35.\n");
}
}
getch ();
return 0;
}
int aa (int a, int b, int c)
{
switch (b)
{
case 0: return a + c;
case 1: return a - c;
case 2: return a * c;
case 3: return a / c;
}
return 0;
}
void ab (int a)
{
switch (a)
{
case 0: printf ("+ "); break;
case 1: printf ("- "); break;
case 2: printf ("* "); break;
case 3: printf ("/ "); break;
}
}
Задача: В написанном выражении ((((1 ? 2) ? 3) ? 4) ? 5) ? 6 вместо каждого знака ? вставить знак одного из четырёх арифметических действий: +, -, *, / так, чтобы результат вычислений равнялся 35.