jagerlayf
?>

Решить с++ вася решил немного попутешествовать и выяснил, что между некоторыми нет прямых авиарейсов, поэтому придётся лететь с пересадками. ему стало интересно, между какими парами городов можно лететь ровно с k пересадками. напишите программу, которая выводит все пары таких городов. входные данные в первой строке вводится количество городов на карте n ( 1 ≤ n ≤ 50 в следующих n строках записано по n чисел, разделённых пробелами – элементы матрицы смежности графа, который описывает схему авиационных сообщений. в последней строке вводится число k – желаемое количество пересадок. выходные данные программа должна найти все пары городов, между которыми можно лететь ровно с k пересадками. каждая пара должна быть выведена в отдельной строке, номера городов в паре расположены по возрастанию. нумерация начинается с единицы. пары должны быть : сначала все пары, которые начинаются в городе 1 по возрастанию второго номера города в паре, и т.д. если ни одной такой пары не найдено, нужно вывести число 0.

Информатика

Ответы

alicia179

 На одну чашу весов поместим две монеты, на другую – монету и гирю. Если весы уравновесятся, то фальшивая монета та, что осталась. За второе взвешивание определим, легче она или тяжелее любой из настоящих монет (или гири). Если же весы не уравновесятся, то наверняка можно утверждать, что настоящей является отложенная монета. Предположим, что перевесила чаша, на которой находятся две монеты. Сравним эти монеты при втором взвешивании. Если весы уравновесятся, то фальшивая монета легче, и она находится рядом с гирей. В противном случае фальшивой окажется более тяжелая из двух сравниваемых монет.

AndreiFaikov1943

1) Целая часть десятичной дроби переводится в двоичную систему счисления и записывается;

2) Затем дробная часть десятичной дроби умножается на 2;

3) В полученном произведении выделяется целая часть, которая приписывается справа после запятой к целой части из пункта 1).

Вычисление завершается, если дробная часть полученного в очередной раз произведения равна нулю или если достигнута требуемая точность вычислений.

[0.85₁₀]=0₁₀=0₂ => 0.85₁₀ = 0, ...₂

2{0.85₁₀}=(2*0.85)₁₀=1,7₁₀

[1,7]=1 => 0.85₁₀ = 0,1...₂

[0,7*2]=[1,4]=1 => 0.85₁₀ = 0,11...₂

[0,4*2]=[0,8]=0 => 0.85₁₀ = 0,110...₂

[0,8*2]=[1,6]=1 => 0.85₁₀ = 0,1101...₂

[0,6*2]=[1,2]=1 => 0.85₁₀ = 0,11011...₂

[0,2*2]=[0,4]=0 => 0.85₁₀ = 0,110110...₂

[0,4*2]=[0,8]=0  => 0.85₁₀ = 0,1101100...₂

[0,8*2]=[1,6]=1  => 0.85₁₀ = 0,11011001...₂

И т.д. до получения числа с нужной точностью.

0.85₁₀ ≈ 0,11011001₂

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Решить с++ вася решил немного попутешествовать и выяснил, что между некоторыми нет прямых авиарейсов, поэтому придётся лететь с пересадками. ему стало интересно, между какими парами городов можно лететь ровно с k пересадками. напишите программу, которая выводит все пары таких городов. входные данные в первой строке вводится количество городов на карте n ( 1 ≤ n ≤ 50 в следующих n строках записано по n чисел, разделённых пробелами – элементы матрицы смежности графа, который описывает схему авиационных сообщений. в последней строке вводится число k – желаемое количество пересадок. выходные данные программа должна найти все пары городов, между которыми можно лететь ровно с k пересадками. каждая пара должна быть выведена в отдельной строке, номера городов в паре расположены по возрастанию. нумерация начинается с единицы. пары должны быть : сначала все пары, которые начинаются в городе 1 по возрастанию второго номера города в паре, и т.д. если ни одной такой пары не найдено, нужно вывести число 0.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

sohrokova809
Voronin-Albertovich
gumirovane2294
yurievaalxndra55
Railyan
ASRodichev
nunabat457
imosal
teya07
pbttehnology
annademidova-74
Татьяна902
mail5
Акимцева27
Александр Сергей