Условие задачи
Найти сумму квадратов двух чисел.
Входные данные
Два целых числа [latex]a[/latex] и [latex]b[/latex]. Числа не превышают [latex]10^9[/latex] по абсолютной величине.
Выходные данные
Выведите одно целое число [latex]a^2 + b^2.[/latex]
Тесты
Входные данные | Выходные данные |
[latex]2\:\:2[/latex] | [latex]8[/latex] |
[latex]5\:\:5[/latex] | [latex]50[/latex] |
[latex]{-}5\:{-}2[/latex] | [latex]29[/latex] |
[latex]7\:\:7[/latex] | [latex]98[/latex] |
[latex]500\:\: 500[/latex] | [latex]500000[/latex] |
[latex]1210 \:\:1250[/latex] | [latex]3026600[/latex] |
Код программы
1 2 3 4 5 6 7 8 9 10 11 |
#include using namespace std; int main() { long long a, b; cin >> a >> b; cout << a * a + b * b << endl; return 0; } |
Решение задачи
Задача очень проста, многие знают, что [latex]a^2[/latex] — это тоже самое, что и [latex]a \cdot a[/latex]. Отсюда, мы получаем, что наша формула очень проста — [latex]a\cdot a + b\cdot b[/latex]. Конечно, многие напишут, что можно использовать функцию
pow(), но зачем усложнять себе задачу?
В этой задаче многие делают ошибку в объявлении переменной и скорее всего это связано с тем, что не читают условия. Стоит использовать переменную типа
long long, а не
int, так как по условию, числа не превышают [latex]10^9[/latex] по абсолютной величине.
Ссылки
Стоит в тестах продемонстрировать работу вашей программы на больших числах.
В описании решения задачи стоит учесть, что во 2-м и 3-м классе учат таблицу умножения, а возведение в степень — в 5-7-х классах.
Добавил и исправил.