arturo95
?>

Написать программу, которая, используя подходящую подпрограмму, возводит число х в степень n. Как можно проще.

Информатика

Ответы

TOKAREVA Stepan

Відповідь:

Если язык указать сложно - вот питон:

def stepen(x,n):

   return x**n

x = 4

n = 5

print(stepen(x,n))

либо можно максимально коротко:

def stepen(x,n):

   return x**n

print(stepen(3,2))

если нужно,чтобы ты сам вводил x и n, то:

def stepen(x,n):

   return x**n

x = float(input("x = "))

n = float(input("n = "))

print(stepen(x,n))

Пояснення:

iracaenko153
Package main;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
     public static BufferedReader READER = new BufferedReader(new InputStreamReader(System.in));
    public static void main(String[] args) throws IOException {
        int N = Integer.parseInt(READER.readLine());
        int[] array = new int[N];
        for(int i = 0; i < array.length; ++i)
            array[i] = Integer.parseInt(READER.readLine());
        System.out.println("Negative: " + Main.function(array));
    }
     public static boolean function(int[] array) {
        for(int number : array)
            if(number >= 0) return false;
        return true;
     }
}
tol1974656
ответ: 359.

Решение. 
Начнём с простого наблюдения.

Лемма. Если на каком-то шаге все куски одинаковой массы m, то можно путём указанных операций сделать так, чтобы все куски стали массой m/2.
Доказательство. На первом шаге съедаем кусок массы m и разрезаем другой кусок массы m. Получится 8 кусков массы m и 2 куска массы m/2. Теперь 8 раз съедаем куски m/2 и распиливаем куски массы m.

Перейдём к собственно решению. Понятно, что Саша не мог съесть весь сыр. Поэтому, поскольку он съел целое число граммов сыра, он мог съесть не более, чем 360 - 1 = 359 граммов. Покажем, как он это мог сделать.

Пусть изначально головка сыра была разрезана так: 5 кусков по 512/9 г, 2 куска по 256/9 г, 1 кусок 128/9 г, 1 кусок 32/9 г, 1 кусок 8/9 г (легко проверить, что сумма всех масс равна 360).

Сначала съедим куски массой 8/9, 32/9, 128/9 и распилим три куска по 512/9 г. Останется 2 куска по 512/9 и 8 кусков по 256/9. Затем дважды съедим куски по 256/9 и разрежем оставшиеся куски по 512/9. После этого будет 10 кусков по 256/9.

Уменьшим размер каждого куска в 256 раз (воспользуемся 8 раз процессом, описанным в лемме). Тогда останутся 10 кусков массой 1/9 г. Съедаем один кусок и распиливаем любой оставшийся кусок. Несъеденная масса 9 * 1/9 = 1 г, значил, съел Саша 360 - 1 = 359 г сыра.

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

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

Написать программу, которая, используя подходящую подпрограмму, возводит число х в степень n. Как можно проще.
Ваше имя (никнейм)*
Email*
Комментарий*

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

ИринаАлександровна
lirene
tatianaesipenko
Ермакова Ирина674
secretar62
ooomedray4
malgoblin2663
Казаков
bulk91675
omraleva
sgritsaev
Minchenkova
nekarpova
LIN1022
steger