Package main import "fmt" func main() {

Package main import "fmt" func main() { count := 0 // количество отжиманий i := 1 // счётчик дней for {fmt.Print(i) count += i i++ if count == 100 { break } } fmt.Println("Лёха сделает", count, "отжиманий за 100 дней")
Дополнительные параметры: codeFlowType: codeMistake codeFlowLang: Go
Создано: 16.03.2025 01:02

Package main

import "fmt"

func main() { count := 0 // количество отжиманий i := 1 // счётчик дней for {fmt.Print(i) count += i i++ if count == 100 { break } }

fmt.Println("Лёха сделает", count, "отжиманий за 100 дней")

В вашем коде есть несколько проблем, связанных с форматированием и логикой в цикле. Давайте исправим их:

  1. Для вывода числа дня лучше использовать fmt.Println вместо fmt.Print, чтобы каждое число печаталось на новой строке.
  2. Логика считает сумму отжиманий, но вы не учитываете, сколько отжиманий происходит каждый день. То есть, необходимо добавить условие, по которому будет увеличиваться количество отжиманий за день, например, на 1 в день.
  3. Код на Go имеет свой стиль, поэтому лучше быть аккуратным с отступами и расположением фигурных скобок.

Вот исправленный код:

package main

import "fmt"

func main() {
    count := 0  // количество отжиманий
    i := 1      // счётчик дней
    for {
        fmt.Println(i)         // вывод дня
        count += i            // добавление отжиманий за день
        i++                   // переход к следующему дню
        if count >= 100 {     // сравнение с 100
            break 
        }
    }

    fmt.Println("Лёха сделает", count, "отжиманий за", i-1, "дней") // вывод количества отжиманий и дней
}

Основные изменения:

  • fmt.Print заменён на fmt.Println.
  • Условие изменено на if count >= 100, чтобы учесть случай, когда count станет больше 100.
  • В вывод сообщения о дне исправлено, чтобы оно соответствовало количеству завершённых дней (т.е. i-1).

Теперь программа корректно считает и выводит количество дней и отжиманий.