Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
 Аватар для andreyananas
27 / 27 / 11
Регистрация: 15.10.2013
Сообщений: 880

Определение номера треугольного числа

01.09.2016, 09:53. Показов 3597. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите на языке C / C++ программу, определяющую номер треугольного числа.

Вход: одно целое (возможно, со знаком «плюс» и символом «перевод строки» \n) число в диапазоне от 1 до 9'223'372'036'854'775'807.

Выход: порядковый номер поданного на вход числа в последовательности треугольных чисел или 0 (ноль), если такого числа в последовательности нет. Символ 0 (ноль) должен выдаваться и во всех случаях подачи на вход некорректных (отрицательных и лежащих вне допустимого диапазона положительных числовых, а также символьных / строковых) данных.

Мой вариант, не работает.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main()
{
 
    uint64_t num(0);
    uint64_t minNum = 1;
    uint64_t maxNum = 9223372036854775807;
    cin >> num;
    if(!num || cin.peek() != '\n' || num < minNum || num > maxNum)
    {
        cout << "0" << endl;
        return 0;
    }
 
    unsigned int index(0);
    uint64_t curNum(0);
    while(curNum <= num)
    {
        curNum = index * (index + 1) / 2;
        if(num == curNum)
        {
            cout << index << endl;
            return 0;
        }
        index++;
    }
    cout << "0" << endl;
 
    return 0;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.09.2016, 09:53
Ответы с готовыми решениями:

Определение порядкового номера наименьшей цифры числа
Написать программу, определяющую порядковый номер цифры. На вход подается большое число, на выходе должен отобразиться порядковый номер...

Числа Фибоначчи.Определение порядкового номера элемента
Дано положительное число.Найти номер К такого числа Фибоначчи ,что Xк-1&lt;=A&lt;Xк.Протестировать задачу для значений A 4,51,21. Числа...

Определить номер треугольного числа (последовательность A000217)
Напишите на языке C / C++ программу, определяющую номер треугольного числа (последовательность A000217 в «Энциклопедии целочисленных...

8
 Аватар для HighPredator
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
01.09.2016, 10:17
andreyananas, а что такое "треугольное число"?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
01.09.2016, 10:23
HighPredator, Треугольное число же
1
 Аватар для qppq
145 / 89 / 23
Регистрация: 31.08.2016
Сообщений: 780
Записей в блоге: 2
01.09.2016, 10:28
Треугольное число — это число кружков, которые могут быть расставлены в форме правильного треугольника (см. рисунок). Очевидно, с чисто арифметической точки зрения, n-е треугольное число — это сумма n первых натуральных чисел.
Последовательность треугольных чисел {\displaystyle T_{n}} T_{n} для {\displaystyle n=0,1,2,\ldots } n=0,1,2,\ldots начинается так:
0, 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105, 120 … (последовательность A000217 в OEIS)

википедия однака
0
 Аватар для andreyananas
27 / 27 / 11
Регистрация: 15.10.2013
Сообщений: 880
01.09.2016, 10:35  [ТС]
п.с. данное задание (1.3) с курса на платформе Stepic: «Углубленное программирование на С/С++»

Добавлено через 1 минуту
Вот я и не могу понять, либо не корректно нахожу номер треугольного числа, либо не правильно делаю проверку входных данных.
0
 Аватар для qppq
145 / 89 / 23
Регистрация: 31.08.2016
Сообщений: 780
Записей в блоге: 2
01.09.2016, 10:39
х.з. я с++ для чайников еще не прочитал
0
 Аватар для andreyananas
27 / 27 / 11
Регистрация: 15.10.2013
Сообщений: 880
01.09.2016, 10:46  [ТС]
РЕШИЛ! Вот знающие люди объясните мне суть:
В 19 строке, я попробовал тип для index:
C++
1
unsigned int
,
C++
1
uint64_t
, а теперь ради смеха заменил на
C++
1
size_t index(0)
и все заработало!
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33379 / 21503 / 8236
Регистрация: 22.10.2011
Сообщений: 36,899
Записей в блоге: 12
01.09.2016, 10:48
Лучший ответ Сообщение было отмечено andreyananas как решение

Решение

Зачем там цикл?

Если https://www.cyberforum.ru/cgi-bin/latex.cgi?X_n=\frac{n\,\left(n+1 \right)}{2} , то после элементарных преобразований имеем: https://www.cyberforum.ru/cgi-bin/latex.cgi?n=\frac{-1+\sqrt{1+8\cdot\,X_n}}{2} (второй корень отбрасываем, ибо отрицательным индекс быть не может)
1
01.09.2016, 11:13

Не по теме:

У меня дежа-вю какое-то. Что-то смутно припоминаю, но не помню что...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.09.2016, 11:13
Помогаю со студенческими работами здесь

Определение номера числа фибоначчи С#
Здравствуйте.. Писал задачу чтобы вывести на консоль число фибоначчи большее заданного числа. Показал её преподавателю и ей внезапно...

Определение номера числа в наборе
Дано целое число K и набор ненулевых целых чисел; признак его завершения — число 0. Вывести номер первого числа в наборе, большего K. Если...

Определение номера минимального числа последовательности чисел
Помогите пожалуйста написать программу на COMPMODEL. Условие задачи: Написать программу определения номера минимального числа...

Определение порядкового номера числа, отличного от других данных .(Паскаль)
Даны три целых числа, одно из которых отлично от двух других, равных между собой. Определить порядковый номер числа, отличного от остальных.

Делители треугольного числа
Делители треугольного числа Данные вводятся из текстового файла input.txt, выводятся в файл output.txt. Последовательность...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru