Задача
Выведите квадраты всех натуральных чисел не больших [latex]n[/latex] в возрастающем порядке.
Входные данные
Одно натуральное число [latex]n[/latex] [latex](n \leqslant 10^9)[/latex]
Выходные данные
Выведите список квадратов всех натуральных чисел не больших [latex]n[/latex] в возрастающем порядке.
Тесты
Входные данные | Выходные данные |
---|---|
1 | 1 |
16 | 1 4 9 16 |
93 | 1 4 9 16 25 36 49 64 81 |
100 | 1 4 9 16 25 36 49 64 81 100 |
Код
1 2 3 4 5 6 7 8 9 |
#include <iostream> using namespace std; int main() { int n; cin >> n; for(int i = 1; i * i <= n; i++) cout << i * i << ' '; return 0; } |
Решение
Воспользуемся циклом, в котором заведем переменную [latex]i[/latex] и будем перечислять числа [latex]1, 4, 9, …, i^2[/latex], пока [latex]i^2[/latex] не будет больше [latex]n[/latex]. Выводим последовательно квадраты натуральных чисел в одной строке.
Ссылки
Задача на e-olymp
Код решения на ideone
В целом неплохо, но есть маленькие недочеты, а именно:
1. Уберите кириллицу из ссылки (меняйте в консоли в разделе «Постоянная ссылка»).
2. Знак неравенства сделайте как в учебниках, а именно через latex ( [latex](n \leqslant 109)[/latex] ).
3.Поправьте отступы в вашем коде, а именно в строках 5, 6, 7.
Спасибо за комментарий. Исправил
Что значит «будем перечеслять числа $1, 2, 3,\dots, i^2$ ? Во-первых если числа, то перечИслять, во-вторых $2$ и $3$ не являются квадратами натуральных чисел, в-третьих вы просто выводите $i^2$.
Большое спасибо. Вроде бы исправил
Благодарю за замечания. Постарался исправить
Последнее замечание не исправили. Посмотрите на свой код. Найдите в нем условие. Составьте тест, который срабатывал бы при выполнении именно этого условия.
При наличии одного единственного условия в программе найти его будет легко.
Спасибо большое, исправил
Молодец.
Я старался не говорить, какие именно тесты нужны. Но Вы правильно догадались и включили 16 — проверка точных квадратов.
А вот пробел после точки в названии пришлось ставить мне 🙁