Как вывести таблицу умножения числа (Python, C++, JavaScript, C)

Краткая цель
Показать простые и переносимые способы вывести таблицу умножения числа: сначала до 10, затем — до произвольного диапазона. Примеры охватывают распространённые языки и содержат вывод, тесты и рекомендации.
Важное
Важно проверять граничные значения (0, отрицательные числа, очень большие range) и выбирать формат вывода в зависимости от цели — консольный вывод, строка для UI или сохранение в файл.
Отображение таблицы умножения до 10
Условие
Вам дано целое число num. Нужно вывести таблицу умножения для num от 1 до 10 включительно.
Пример: num = 5
Ожидаемый вывод:
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50Подход (коротко)
- Запустить цикл от 1 до 10.
- На каждой итерации вычислять произведение num * i.
- Выводить форматированную строку “num * i = результат”.
C++: вывод до 10
// C++ program to print the multiplication table of a number up to 10
#include
using namespace std;
// Function to print the multiplication table of a number up to 10
void printTable(int num)
{
for (int i = 1; i <= 10; ++i)
{
cout << num << " * " << i << " = " << num * i << endl;
}
}
// Driver Code
int main()
{
int num = 5;
cout << "Number: " << num << endl;
cout << "Multiplication table of " << num << endl;
printTable(num);
return 0;
} Вывод программы C++:
Number: 5
Multiplication table of 5
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50Python: вывод до 10
# Python program to print the multiplication table of a number up to 10
# Function to print the multiplication table of a number up to 10
def printTable(num):
for i in range(1, 11):
print(num, "*", i, "=", num*i)
# Driver Code
num = 5
print("Number:", num)
print("Multiplication table of", num)
printTable(num)Вывод программы Python:
Number: 5
Multiplication table of 5
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50JavaScript: вывод до 10
// JavaScript program to print the multiplication table of a number up to 10
// Function to print the multiplication table of a number up to 10
function printTable(num) {
for (let i = 1; i <= 10; ++i) {
console.log(num + " * " + i + " = " + num * i);
}
}
// Driver Code
var num = 5;
console.log("Number: " + num);
console.log("Multiplication table of " + num);
printTable(num);Пример вывода в консоли:
Number: 5
Multiplication table of 5
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50C: вывод до 10
// C program to print the multiplication table of a number up to 10
#include
// Function to print the multiplication table of a number up to 10
void printTable(int num)
{
for (int i = 1; i <= 10; ++i)
{
printf("%d * %d = %d\n", num, i, num*i);
}
}
// Driver Code
int main()
{
int num = 5;
printf("Number: %d\n", num);
printf("Multiplication table of %d\n", num);
printTable(num);
return 0;
} Вывод программы C:
Number: 5
Multiplication table of 5
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50Таблица умножения до заданного диапазона
Условие
Дано число num и диапазон range (положительное целое). Нужно вывести таблицу умножения для num от 1 до range.
Пример: num = 5, range = 14
Ожидаемый вывод:
5 * 1 = 5
...
5 * 14 = 70Подход
- Запустить цикл i от 1 до range.
- На каждой итерации вычислить num * i и вывести строку.
- Позволяет гибко менять длину результата.
C++: с параметром range
// C++ program to print the multiplication table of a number
#include
using namespace std;
// Function to print the multiplication table of a number
void printTable(int num, int range)
{
for (int i = 1; i <= range; ++i)
{
cout << num << " * " << i << " = " << num * i << endl;
}
}
// Driver Code
int main()
{
int num = 5;
int range = 14;
cout << "Number: " << num << endl;
cout << "Range: " << range << endl;
cout << "Multiplication table of " << num << endl;
printTable(num, range);
return 0;
} Вывод C++:
Number: 5
Range: 14
Multiplication table of 5
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50
5 * 11 = 55
5 * 12 = 60
5 * 13 = 65
5 * 14 = 70Python: с параметром range
# Python program to print the multiplication table of a number
def printTable(num, r):
for i in range(1, r+1):
print(num, "*", i, "=", num*i)
# Driver Code
num = 5
r = 14
print("Number:", num)
print("Range:", r)
print("Multiplication table of", num)
printTable(num, r)JavaScript: с параметром range
// JavaScript program to print the multiplication table of a number
function printTable(num, range) {
for (let i = 1; i <= range; ++i) {
console.log(num + " * " + i + " = " + num * i);
}
}
// Driver Code
var num = 5;
var range = 14;
console.log("Number: " + num);
console.log("Range: " + range);
console.log("Multiplication table of " + num);
printTable(num, range);C: с параметром range
// C program to print the multiplication table of a number
#include
void printTable(int num, int range)
{
for (int i = 1; i <= range; ++i)
{
printf("%d * %d = %d\n", num, i, num*i);
}
}
int main()
{
int num = 5;
int range = 14;
printf("Number: %d\n", num);
printf("Range: %d\n", range);
printf("Multiplication table of %d\n", num);
printTable(num, range);
return 0;
} Альтернативные подходы и улучшения
- Рекурсия: можно рекурсивно печатать строки, но для больших range это неэффективно и приводит к глубокому стэку.
- Генерация строки целиком: собрать все строки в список/вектор и вывести единым вызовом. Полезно, если нужен один результирующий текст для UI или файла.
- Форматирование таблицы: выравнивание столбцов с помощью форматирования (printf/format) улучшит читаемость при больших числах.
- Параллелизм: для очень больших диапазонов можно распараллелить вычисления, но для простого вывода это излишне.
Типичные ошибки и когда решение не сработает
- Неправильный тип входа: дробные числа или строки потребуют валидации и, возможно, округления.
- Очень большой range: потребление памяти при сборе всех строк в список; вывод лучше стримить.
- Неправильная локализация: в некоторых локалях разделитель тысяч или формат чисел может отличаться.
Проверки и тесты (Критерии приёмки)
- Ввод: num = 0 -> строки от 0 1 = 0 до 0 range = 0.
- Ввод: num отрицательное -> корректный знак в выводе (например, -5 * 3 = -15).
- Ввод: range = 1 -> только одна строка.
- Невалидный ввод (нечисло) -> программа должна либо обработать ошибку, либо сообщить о неверных данных.
- Производительность: range = 1_000_000 — программа не должна падать по памяти при потоковом выводе.
Чек‑лист по ролям
- Учитель: убедитесь, что примеры просты и пояснены; добавьте задания: вывести таблицу для нескольких чисел.
- Студент: протестируйте как минимум три разных num и два range; проверьте нулевые и отрицательные значения.
- Разработчик: добавьте модульную функцию, покрытие тестами и обработку невалидного ввода.
Краткий набор приёмов (Cheat sheet)
- Python: list comprehension для строки — “\n”.join([f”{num} {i} = {numi}” for i in range(1, r+1)])
- C/C++: использовать std::ostringstream (C++) или printf для контролируемого форматирования.
- JS: для браузера — document.write или формировать DOM; для Node.js — console.log или записать в файл.
Глоссарий (1‑строчная)
- Цикл: конструкция, повторяющая набор действий несколько раз.
- Итерация: один проход цикла.
- range: верхняя граница для количества итераций.
Ментальная модель
Таблица умножения в коде — это просто рекурсивно независимые пары (i, num * i). Представляйте её как поток строк, который можно печатать или собирать.
Пример выбора подхода (Mermaid)
flowchart TD
A[Нужно вывести таблицу?] --> B{Для консоли или UI?}
B -->|Консоль| C[Простой цикл и печать]
B -->|UI или файл| D[Собрать строки в буфер и вернуть]
D --> E{Range большой?}
E -->|Да| F[Стримить в файл]
E -->|Нет| G[Вернуть одну строку]Итог
Вы научились печатать таблицу умножения числа до 10 и до произвольного диапазона на Python, C++, JavaScript и C. Проверяйте граничные случаи, выбирайте формат вывода по задаче и используйте сбор строк, если нужен единый текст для UI или файла.
Важно: придерживайтесь принципов простоты и читаемости кода (KISS, DRY), разбивайте функциональность на тестируемые функции и покрывайте критичные случаи тестами.
Спасибо за внимание — попробуйте реализовать вариант с пользовательским вводом и сохранением результата в файл как практическое упражнение.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента