пятница, 7 октября 2016 г.

Я сделал это!

Мне кажется, я сделал это!
Наконец-то на курсах по C дошли до явного приведения типов и вроде как мне удалось дописать решение тестовой задачи.

Вот её условия: 
Определить номер введённого треугольного числа. Числа положительные и начинаются с 1. Если введено число, не соответствующее условиям, программа завершается и возвращает 0.

Вот моё решение:
#include <stdio.h>
#include <math.h>

int main (void)
{
long long int tn;
int kaka;
long double n;

if (scanf("%lli.%d", &tn, &kaka) !=1) return 0;
n = (sqrt(1 + 8 * (double)tn) - 1) / 2;

if (tn > 0 && tn <= 9223372036854775807 && ((long long int)n*((long long int)n+1)/2) == tn)
{
printf ("%lli\n", (long long int)n);
}

return 0;
}
Эх, надо было не отписываться от курса углублённого программирования на C - сейчас была бы возможность протестировать программу. ))

До        После

И тут меня понесло

В наушниках в каждую свободную минуту звучит английский.
Общение по WhatsApp с сестрой - только на английском.
Куча бесплатных интернет-курсов в закладках браузера.
Миллионы планов по обучению программированию на выходных.
Все новости - только об IT. Новые знания - только по программированию.
Видео - только обучающее по программированию и английскому.

И что самое интересное, мне это нравится. Впитываю, как губка. Где я был до этого? Чем занимался? Почему не начал изучать программирование раньше? Не беда. Главное - начать и довести до конца.

Информации, которую надо усвоить - море. Времени на всё это - кот наплакал. Отлично! Прорвёмся!

А пока побежал работать.

До        После