Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты

Задача на языке программирования Go

Сергей Зимнухов Ученик (64), на голосовании 1 месяц назад
Попрыгун
Ограничение времени 20 секунд
Ограничение памяти 640.0 Мб
Ввод стандартный ввод или main.go
Вывод стандартный вывод или output.txt
Кузнечик прыгает по длинной линейке влево и вправо, точно приземляясь на риски с сантиметрами. Кузнечик может прыгнуть не более чем на 5см. На риске 20см лежит зёрнышко. Помогите кузнечику его съесть.

Реализуйте структуру

type Grasshopper struct {} // знает своё местоположение на линейке
Которая реализует интерфейс

type Jumper interface {
WhereAmI() int // выводит текущее положение кузнечика на линейке
Jump() (int, error) // кузнечик прыгает к зерну. Выводит новое положение кузнечика, или ошибку, если он уже ест зерно
}
и конструктор для структуры:

func PlaceJumper(place, target int) Jumper {}
Пример
Ввод Вывод
package main

import "fmt"

const (
place = 0
target = 3
)

func main() {
g := PlaceJumper(place, target)
fmt.Println(g.WhereAmI())
for {
currPlace, err := g.Jump()
if err != nil {
break
}
fmt.Println(currPlace)
}
}
0
3
Примечания
Необходимо написать файл в пакете main без функции main(), с перечисленными в условии функциями и структурой.

Обратите внимание, что для изменения структуры внутри функции, она должна передаваться по ссылке, а не по значению (символ *). Например: func (g *Grasshopper) Jump() (int, error) {
Голосование за лучший ответ
kof Ученик (97) 2 месяца назад
привет если знаешь ответ можешь помочь
если ответ будет верный дам 250 рублей
kofУченик (97) 2 месяца назад
если ответ будет верным я дам 100 руб
Федор Колесин Ученик (102) 2 месяца назад
может поможешь за 250 рублей
Похожие вопросы