Набирая семизначный номер телефона, Петя понял, что забыл последова -
тельность набора трех первых цифр: 1, 4и 7. Сколько разных комбинаций
можно составить, переставляя цифры 1, 4и 7?
Пользуясь системным перебором, запиши все возможные варианты набора
первых трех цифр телефонного номера. Сколько вариантов получилось?
Проверь свой ответ. Нарисуй дерево возможных вариантов.
Известно что:
(1) Слесарь живет левее Учителя
(2) Парикмахер живет правее Учителя
Значит учитель живет по между ними
С У П
(3) Врач живет с краю
(4) Врач живет рядом с Парикмахером
Значит Врач живет с права
С У П В
Построим таблицу
С У П В
И
Б
М
А
(5) Борис не Врач и не живет рядом с Врачом
С У П В
И
Б Х Х
М
А
(6) Андрей живет рядом с Учителем
С У П В
И
Б Х
М
А Х Х
(7) Иван живет левее Парикмахера
С У П В
И Х Х
Б Х Х
М
А Х Х
(8) Иван живет через дом от Андрея
С У П В
И + Х Х Х
Б Х + Х Х
М Х Х Х +
А Х Х + Х
в первом все просто все заполняем 5
#include <stdio.h>
int main(void)
{
int i,j num[5][5];
/* загрузка чисел */
for(i=0; i<5; i++)
for (j=0; j<5; j++)
num[i][j] = 5;
/* вывод чисел */
for(i=0; i<5; i++)
{
for (j=0; j<5; j++)
printf("%d ",num[i][j]);
printf ("\n");
}
return 0;
}
во втором чуть сложнее, если сумма индексов i+j меньше размера массива, то пишем 1, в противном случае 0,
инициализация и вывод без изменений их не пишу
for(i=0; i<5; i++)
for (j=0; j<5; j++)
if (i+j<5) num[i][j]=1;
else num[i][j]=0;