вторник, 4 октября 2016 г.

Баба с возу

В общем, попробовал я вчера и так и эдак тестовую задачу порешать, и снова ничего у меня не вышло. Вот мой последний вариант:
#include <stdio.h>
#include <math.h>

int main ()
{
unsigned long long int tn, n;
int kаka;
if (scanf ("%llu%*c%d", &tn, &kaka) !=1) return 0; //по условиям задачи при ошибке должен возвращаться 0
if (tn > 0 && tn <= 9223372036854775807) unsigned long long int n = (sqrt(1+8*tn)-1)/2;
if ((n*(n+1)/2) == tn) printf ("%llu\n", n); //последняя проверка (на всякий пожарный)
    return 0;
}
И почему-то дальше 3 теста (а всего их 12) задача не прошла. На третьем тесте вместо номера треугольного числа программа почему-то выдает всякие непонятные числа (в основном, дробные). Даже в том случае, когда на вход ей подают "правильное" треугольное число, а не всякий мусор.
В комментариях к задаче многие писали, что в этом случае их спасало декларирование long double n. Я попробовал. Не получилось. Понял, что у меня проблема с типами используемых переменных. Что ж, будем изучать основы дальше.))
А от курса "Углублённое программирование на языке C" я отписался. Либо не время мне ещё этим курсом заниматься по причине недостаточности знаний, либо курс построен не совсем правильно, так как тестовое задание не соответствует предшествовавшему ему лекционному материалу. В любом случае, на нынешнем этапе моего обучения этот курс не даёт мне новых знаний и отнимает немало времени.
Что ж, как говорится: баба с возу - кобыле легче.

Вместо этого курса записался на другой - "Научное мышление". Решил, что курсы нужно проходить осознанно, а не путём "шаманства" над неизвестными свойствами.
На новом курсе вчера до часу ночи рисовал круговые диаграммы. Несколько раз пересматривал лекции, пока не дошло, как эти диаграммы рисуются. Зато сам решил тестовую задачу. Посмотрим, может быть ещё какой-нибудь сертификат получу.

В последнее время стал подолгу размышлять над тем, в чём буду специализироваться в новой специальности. Пока что мне представляются привлекательными такие вещи, как анализ данных, Big Data, нейронные сети, машинное обучение. Я даже запланировал себе пройти в ближайшем будущем (зима - весна) курсы по введению в эти области знаний. Посмотрим, может быть на самом деле они окажутся не такими привлекательными, как мне представляется, или совсем для меня неподъёмными.

До        После