#include
using namespace std;
int main() {
int N;
cin >> N;
int current = 1; // текущее число в последовательности
int count = 0; // количество выведенных чисел
for (int i = 1; count < N; i++) { // цикл по каждому числу
for (int j = 0; j < i && count < N; j++) { // выводим число i i раз
cout << current << " ";
count++;
}
current++; // переходим к следующему числу
}
return 0;
}
записаны сначалаС «начала» чего.. конца света)) или с начала каждой строки: 22 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 7
#include <iostream> int main() { int N, c = 1, k = 1; std::cin >> N; for (int i = 0; i < N; ++i, --k) { if (k == 0) { std::cout << "\n"; ++c; k = c; } std::cout << c << " "; } std::cout << "\n"; return 0; }
#include
using namespace std;
int main() {
int n, t = 0, v = 0;
cin >> n;
for (int i = 0; i < n; ++i) {
if (i == t) { t += ++v; }
cout << v << ' ';
}
}
Вложенный цикл не нужен, т.к. достаточно отслеживать момент перехода к следующему числу. #include
int main() {
int N;
std::cin >> N;
int currentNumber = 1, count = 1;
for (int i = 0; i < N;) {
for (int j = 0; j < count && i < N; ++j) {
std::cout << currentNumber << " ";
++i;
}
++currentNumber;
++count;
}
std::cout << std::endl;
return 0;
}
Не понимаю как решить.
Напечатайте первые N чисел последовательности:
(записаны подряд одна единица, две двойки, три тройки, четыре четвёрки и т.д.).
Формат ввода
Вводится единственное натуральное число – N (1 ≤ N ≤ 1000).
Формат вывода
Необходимо вывести через пробел по порядку первые N чисел последовательности.
Пример 2
Ввод : 5
Вывод : 1 2 2 3 3
Сделать решение МАКСИМАЛЬНО простым,без массивов и векторов,желательно с факториалами!