Таблица умножения

Messages
1,701
Reaction score
288
Website
tehadm.ru
Подается число от 1 до 10. Метод должен составить таблицу умножения введенного числа.
Допустим, подается число 5. Получаем:
Code:
1 * 5 = 5
2 * 5 = 10
3 * 5 = 15
4 * 5 = 20
5 * 5 = 25
6 * 5 = 30
7 * 5 = 35
8 * 5 = 40
9 * 5 = 45
10 * 5 = 50

C-like:
package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(MultiTable(5))
}

func MultiTable(number int) string {
    var result strings.Builder
    for i := 1; i < 11; i++ {
        line := fmt.Sprintf("%d * %d = %d\n", i, number, i*number)
        result.WriteString(line)
    }
    return result.String()
}

Строка кода line := fmt.Sprintf("%d * %d = %d\n", i, number, i*number) в Go создает форматированную строку, которая представляет одну строку таблицы умножения.
  • line := это объявление новой переменной line, в которую будет сохранен результат работы функции fmt.Sprintf.
  • fmt.Sprintf это функция, которая форматирует строку. Она принимает строку формата и набор переменных, затем заменяет каждый форматирующий спецификатор в строке формата соответствующим значением переменной.
  • "%d * %d = %d\n" это строка формата, где %d является спецификатором формата для целых чисел. Каждый %d будет заменен на соответствующее ему значение из списка аргументов, следующих за строкой формата.
  • i, number, i*number это аргументы, которые будут подставлены в места спецификаторов %d в строке формата. Первый %d заменяется на значение i, второй %d — на значение number, а третий %d — на результат выражения i*number.
  • \n в конце переносит еа новую строку
Функция result.WriteString(line) добавляет строку line к объекту strings.Builder, который называется result. strings.Builder — это эффективный способ построения длинных строк путем последовательного добавления к ним подстрок.

Вот что происходит в каждом шаге:
  • result — это объект strings.Builder, который мы создали для накопления строк, составляющих таблицу умножения.
  • WriteString — это метод объекта strings.Builder, который принимает один аргумент типа string и добавляет его к строке, которую мы строим.
  • line — это строка, которую мы сформировали ранее с помощью fmt.Sprintf, представляющая одну строку таблицы умножения.
Когда вы вызываете result.WriteString(line), вы фактически добавляете строку line к текущему содержимому result. Этот процесс повторяется в цикле для каждой строки таблицы умножения, и в результате result содержит полную таблицу умножения, которую затем можно вернуть из функции MultiTable в виде одной строки.
 
Last edited:
Back
Top