| 
                       
                    | 
                       
                           Задача 228. Эффективный метод возведения в степеньпостоянный адрес задачи: http://www.diofant.ru/problem/601/показать код для вставки на свой сайт >>  | 
                        
                        
                
                               Задачу решили:   
                               
                                   10 
                               
                            
                           
                               всего попыток:   
                               
                                   36 
                               
                            
                           
                           
                          
                          поделиться задачей:  
            
             | 
                   |
| 
                       
                       
                                  
                           Задача опубликована:
                           30.11.09 08:00
                        
                       
                        Прислал:  
                                        
                                       
                                          mikev
                                          
                                          
                                            
                       
                       
                       
                                         
                                
                                          
                                           
                                           
                                       
                                   Источник:
                                    Проект "Эйлер" (http://projecteuler.net)
                                
                             
                       
                       
                           Вес: 
                           1
                                      
                       
                           сложность:         
                            
                               
                                   1
                                       
                       
                       
                                   
                               
                           
                       
                           класс: 
                           
                              
                                  
                                      
8-10
                                       
                      
                      
                       
                                   
                               
                          
                      
                          баллы: 100
                       
                      
                      
                                  Темы: 
                                  
                                     
                                          
                                              арифметика 
                          
                         
                                          
                                      
                                  
                               | 
              
| 
                        
                            
                             | 
                
Первое, что приходит в голову, когда нужно возвести число в 15-ю степень, это просто выполнить четырнадцать умножений:
n 
 n 
 ... 
 n = n15
Если использовать "бинарный" метод, того же результата можно достичь, выполнив всего шесть умножений:
n 
 n = n2
n2 
 n2 = n4
n4 
 n4 = n8
n8 
 n4 = n12
n12 
 n2 = n14
n14 
 n = n15
Но оказывается, что количество умножений можно сократить до пяти:
n 
 n = n2
n2 
 n = n3
n3 
 n3 = n6
n6 
 n6 = n12
n12 
 n3 = n15
Определим m(k) как минимальное количество умножений, необходимое для вычисления nk; например, m(15) = 5.
Найдите наименьшее значение k, для которого m(k)=12.
                      Пожалуйста, не пишите нам, что Вы не можете решить задачу. 
Если Вы не можете ее решить, значит Вы не можете ее решить :-)
              
              Если Вы не можете ее решить, значит Вы не можете ее решить :-)
 
              
                  Обсуждение
                  
                  Правила >> 
                  
                  
              
 
              
              
              
                  Внимание! В обсуждении задачи запрещено публиковать ответы и давать подсказки.