Всем привет не могу понять , как сделать программу возведение числа в степень через цикл?

А

Пользователь

от Алексей , в категории: Общие вопросы , 3 года назад

fmt.Println("Введи мне число")

var number int

fmt.Scan(&number)


fmt.Println("Введи мне степень")

var date int

fmt.Scan(&date)

var result int


for i:= 0; i<date; i=i+1 {

Дальше не понимаю,что указать надо ,чтобы цикл совпал ?

number*Number не работает

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

4 ответа

Пользователь

от tyler_west , 3 года назад

@Алексей Попробуйте вот так:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
fmt.Println("Введи мне число")

var number int

fmt.Scan(&number)
fmt.Println("Введи мне степень")

var date int

fmt.Scan(&date)

result := number
for i:= 1; i<date; i++ {
   result = result * number
}

fmt.Println(result)


А

Пользователь

от Алексей , 3 года назад

Cкажи пожалуйста,а result мы значение какое присвоить надо float 64?

@tyler_west 

Администратор

от Stesha , 3 года назад

@Алексей Тоже int будет, т.к. number и date int. Код можно переписать вот так


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
fmt.Println("Введи мне число")

var number int

fmt.Scan(&number)
fmt.Println("Введи мне степень")

var date int

fmt.Scan(&date)

// Тоже int т.к date и number int и мы их перемножаем.
var result int
result = number
for i:= 1; i<date; i++ {
   result = result * number
}

fmt.Println(result)


Пользователь

от tyler_west , 3 года назад

@Алексей Я не уверен нужен ли Вам цикл я думаю Вы можете использовать встроенную в библиотеку math Pow() метод:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
fmt.Println("Введи мне число")

var number float64

fmt.Scan(&number)
fmt.Println("Введи мне степень")

var date float64

fmt.Scan(&date)

result := math.Pow(number, date)

fmt.Println(result)

В этом случае result будет float64. Мне кажется это более изящнее и чище.