Smolkovaya
?>

Вы хотите возвести данное число a в некоторую целочисленную степень n, но ваш калькулятор умеет только перемножать числа. например, вы можете вычислить a2 = a × a, затемвыможетевычислитьa3 =a2 ×aилиa4 =a2 ×a2. вы можете по-разному организовать вычисление значения an. например, вычислить a5 можно за 4 умножения: 1) a2 = a × a, 2) a3 = a2 × a, 3) a4 = a3 × a, 4) a5 = a4 × a. но можно вычислить a5 всего лишь за 3 умножения: 1) a2 = a × a, 2) a3 = a2 × a, 3) a5=a3×a2. вам необходимо определить, за какое минимальное число умножений можно вычислить следующие степени: 7, 15, 23, 63. вычисление каждой из этих степеней должно быть независимо от остальных, то есть при вычислении 15-й степени нельзя использовать вычисления, проделанные ранее для вычисления 7-й степени. вы решаете четыре независимые – за какое минимальное число умножений можно вычислить 7-ю степень, 15-ю степень, 23-ю степень и 63-ю степень. ответ на это записывается в четырёх строках. каждая строка должна содержать последовательность вычисления каждой из указанных степеней. первая строка должна содержать последовательность вычисления 7-й степени, вторая строка – 15-й степени, третья строка – 23-й степени, четвертая строка – 63-й степени. каждая строка содержит через пробел несколько целых чисел – значения степеней в том порядке, в котором они вычисляются. например, для вычисления 5-й степени решение можно записать в виде строки 23 5или 2 4 5, что означает, что последовательно вычисляются степени a2, a3, a5 (одно возможное решение) или a2, a4, a5 (другое возможное решение такм образом, каждая строка должна начинаться числом 2, а заканчиваться тем значением степени, которое нужно вычислить (7, 15, 23, 63). чем меньше операций умножения вы будете использовать, тем больше вы получите, при условии, что предложенные последовательности вычисления степеней являются корректными. 25

Информатика

Ответы

ivanovmk1977
Программа на python 3, перебирающая все возможные последовательности определённой длины:
def shortest_chains(n):
  def next_chains(chain):
    new_elems = set()
    for i in range(len(chain)):
      for j in range(i, len(chain)):
        new_elem = chain[i] + chain[j]
        if new_elem > chain[-1] and new_elem not in new_elems:
          new_elems.add(new_elem)
          yield chain + [new_elem]
  
  current_stage = None
  next_stage = [[1]]
  answer = []
  while len(answer) == 0:
    current_stage = next_stage
    next_stage = []
    for chain in current_stage:
      next_stage.extend(next_chains(chain))
    answer = [chain[1:] for chain in next_stage if chain[-1] == n]
  return answer
    
def print_solution(n):
  answer = shortest_chains(n)
  print("Для {} есть {} решений(-я, -е):".format(n, len(answer)))
  for i in range(len(answer)):
    print("{}. {}".format(i + 1, " ".join(map(str, answer[i]
  print()

Запустив, можно получить все 5 возможных решений для числа 7, по 4 решения для 15 и 23 и 87 решений для 63.
Nataliefremova2015808

Чтобы понять, что такое CSS, разберем простой пример. Когда сотрудник редакции газеты или журнала производит верстку издания, он делает пометки, по которым затем разрабатывается внешний вид готового материала. Например: «выделить заголовок красным», «сделать отступ», «увеличить расстояние между информационными блоками» и так далее. При работе с сайтами нельзя прописать подобные заметки обычным языком, браузер не сможет их прочитать. Чтобы он учел отметки, необходимо прописать их на языке CSS.

Объяснение:

skorykin123371

Отпишитесь если будут ошибки, т. к. кодил на мобилке.

Тело программы:

public static void Main (string[] args)

{

int man = 0;

int woman = 0;

String file = File. ReadAllText ("persons. txt");

List persons = StringToPersons (file);

foreach (Person p in persons)

if (p. Sex = = "Мужской")

man++;

else if (p. Sex = = "Женский")

woman++;

Console. WriteLine ("Женщин: {0}/nМужчин: {1}", woman, man);

persons = persons. OrderBy (p = > p. LastName). ToList ();

for (int i = 0; i

{

Person p = persons[i];

Console. WriteLine ("Пациент # {0}/nФИО: {1} {2} {3}, Пол: {4}, Возраст: {5} лет, Место проживания: {6}, Диагноз: {7}.", i+1, p. LastName, p. FirstName, p. Patronymic, p. Sex, p. Age, p. City, p. Main);

}

}

public static List StringToPersons (String FileContent)

{

List persons = new List ();

String[] lines = FileContent. Split ('; ');

foreach (String line in lines)

{

String[] data = line. Split (':');

if (data. Length>7)

{

throw new Exception ("Error read persons file");

}

Person person = new Person (data[0], data[1], data[2], data[3], data[4], data[5], data[6]);

persons. Add (person);

}

return persons;

}

}

public class Person

{

public String LastName;

public String FirstName;

public String Patronymic;

public String Sex;

public String Age;

public String City;

public String Main;

public Person (String LastName, String FirstName, String Patronymic, String Sex, String Age, String City, String Main)

{

this. LastName = LastName;

this. FirstName = FirstName;

this. Patronymic = Patronymic;

this. Sex = Sex;

this. Age = Age;

this. City = City;

this. Main = Main;  

}  

}

Текстовый файл:

Сергеев: Иван: Алексеевич: Мужской: 34:Санкт-Петербург: Кариес;

Белоусова: Элина: Станислава: Женщина: 27:Москва: Ангина;

Павлов: Николай: Дмитриевич: Мужской: 89:Астрахань: Сахарный диабет

P. s. я не доктор, соответственно в плане диагноза я написал чушь.

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

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

Вы хотите возвести данное число a в некоторую целочисленную степень n, но ваш калькулятор умеет только перемножать числа. например, вы можете вычислить a2 = a × a, затемвыможетевычислитьa3 =a2 ×aилиa4 =a2 ×a2. вы можете по-разному организовать вычисление значения an. например, вычислить a5 можно за 4 умножения: 1) a2 = a × a, 2) a3 = a2 × a, 3) a4 = a3 × a, 4) a5 = a4 × a. но можно вычислить a5 всего лишь за 3 умножения: 1) a2 = a × a, 2) a3 = a2 × a, 3) a5=a3×a2. вам необходимо определить, за какое минимальное число умножений можно вычислить следующие степени: 7, 15, 23, 63. вычисление каждой из этих степеней должно быть независимо от остальных, то есть при вычислении 15-й степени нельзя использовать вычисления, проделанные ранее для вычисления 7-й степени. вы решаете четыре независимые – за какое минимальное число умножений можно вычислить 7-ю степень, 15-ю степень, 23-ю степень и 63-ю степень. ответ на это записывается в четырёх строках. каждая строка должна содержать последовательность вычисления каждой из указанных степеней. первая строка должна содержать последовательность вычисления 7-й степени, вторая строка – 15-й степени, третья строка – 23-й степени, четвертая строка – 63-й степени. каждая строка содержит через пробел несколько целых чисел – значения степеней в том порядке, в котором они вычисляются. например, для вычисления 5-й степени решение можно записать в виде строки 23 5или 2 4 5, что означает, что последовательно вычисляются степени a2, a3, a5 (одно возможное решение) или a2, a4, a5 (другое возможное решение такм образом, каждая строка должна начинаться числом 2, а заканчиваться тем значением степени, которое нужно вычислить (7, 15, 23, 63). чем меньше операций умножения вы будете использовать, тем больше вы получите, при условии, что предложенные последовательности вычисления степеней являются корректными. 25
Ваше имя (никнейм)*
Email*
Комментарий*

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

jim2k
secretary
smirnovaL1286
milenaochirova01017424
Monstr13
missbuhgalter2013
gen218
Аврамец1911
shuxratmaxmedov
allo22-27
Anna_Kamil
maria
ievlevasnezhana7
artemiusst
Alyona