Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите решить задачу на С++

Иван Богров Ученик (173), на голосовании 3 дня назад
Помогите решить задачу на С++

Не понимаю как решить.

Напечатайте первые N чисел последовательности:
(записаны подряд одна единица, две двойки, три тройки, четыре четвёрки и т.д.).

Формат ввода

Вводится единственное натуральное число – N (1 ≤ N ≤ 1000).
Формат вывода

Необходимо вывести через пробел по порядку первые N чисел последовательности.
Пример 2
Ввод : 5
Вывод : 1 2 2 3 3
Сделать решение МАКСИМАЛЬНО простым,без массивов и векторов,
Голосование за лучший ответ
Андрей Высший разум (457251) 1 месяц назад
Если хочешь просто и без массивов, то:
 #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 << ' ';
}
}
ПапаВысший разум (142207) 1 месяц назад
Там и цикл не особо нужен, можно решить квадратное уравнение. Уж это они должны были проходить в школе.
Андрей Высший разум (457251) Папа, Квадратным уравнением получим максимальное число в последовательности. Но саму последовательность всё равно придётся как-то генерировать. И цикл всяко будет - явный в коде или неявный внутри библиотечной функции.
Рустам Абдрашитов Мыслитель (8541) 1 месяц назад
 #include  

int main() {
int N, count = 0;
std::cin >> N;
for (int i = 1; count < N; ++i)
for (int j = 0; j < i && count < N; ++j) {
std::cout << i << " ";
count++;
}
std::cout << std::endl;
return 0;
}
Похожие вопросы