Количество путей до города Х = количество путей добраться в любой из тех городов, из которых есть дорога в Х.
При этом если путь должен не проходить через какой-то город, нужно просто не учитывать этот город при подсчёте сумм. А если город наоборот обязательно должен лежать на пути, тогда для городов, в которые из нужного города идут дороги, в суммах нужно брать только этот город.
С помощью этого наблюдения посчитаем последовательно количество путей до каждого из городов:
Можешь доработать если желаешь, основу дал. Програма работает.
Объяснение:
#include <iostream>
using namespace std;
int main()
{
int i,a,b;
cout << "Введите 1 числo: ";
cin >> a;
cout << "Введите 2 числo: ";
cin >> b;
for (i = a; i > 0; i--)
{
if (a % i == 0 && b % i == 0)
{
cout << "nod = " << i;
break;
}
}
if (i==1)
cout << "\nЧисла взаимнопростые!\n";
else
cout << "\nЧисла не взаимнопростые!\n"; return 0;
}
Объяснение:
Количество путей до города Х = количество путей добраться в любой из тех городов, из которых есть дорога в Х.
При этом если путь должен не проходить через какой-то город, нужно просто не учитывать этот город при подсчёте сумм. А если город наоборот обязательно должен лежать на пути, тогда для городов, в которые из нужного города идут дороги, в суммах нужно брать только этот город.
С помощью этого наблюдения посчитаем последовательно количество путей до каждого из городов: