Моя специальность — программист. Профессия сложная и интересная. Первая проблема, которая встала передо мной — как можно из синтаксических команд слепить что-то полезное? Легко выучить синтаксис языка, сложнее научиться писать программы. Это все равно что научить человека писать и ждать что он начнет создавать стихи и романы. Поиск в интернете не принес сначала своих плодов, но я набрел на один IRC канал, где и нашел помощь. Меня ткнули носом в один ресурс, о котором я и хочу вам рассказать: Project Euler
На нем множество задач, которые помогают развивать логику и математические навыки. Именно с этого сайта я и начинал свой путь…
Вот решена мною первая задача на С++: Условие: Если выписать все натуральные числа меньше 10, кратные 3 или 5, то получим 3, 5, 6 и 9. Сумма этих чисел — 23. Найдите сумму всех чисел меньше 1000 кратных 3 или 5.
#include <iostream>
using namespace std;
int main()
{
int amount = 0; // сума чисел кратных 3 и 5
for (int i=0; i<1000; i++)
{
if (!(i%3) || !(i%5))
{
amount += i;
}
}
cout << "Сума чисел: " << amount << endl;
}
Из особенностей этого ресурса можно отметить:
— неважно на каком языке вы учитесь программировать
— не важно сколько на это понадобиться время
— не обязательно делать задачи подряд
— возможность проверить результат на сайте
— хорошая рейтинговая система по званиям, по странам и по языкам
— возможность после решения посмотреть на реализации других людей на многих языках
— имеется перевод всех заданий на русский: жать сюда
Желательно не только найти правильный ответ, но и написать так программу, чтоб она находила как можно быстрее. Моя первая задача считается за 0.002 секунды. Заодно и научитесь оптимизировать свои программы :)
Хех. Эйлер. У меня там пока 63 задачи решено (достаточно свободного времени только летом бывает).
Ещё могу Диофант посоветовать (там некоторые задачи можно и с помощью ПК решить, но больше всё-таки логикой (которая часто тоже немаловажна в написание программ) ).
млин грамотеи, 21 век на дворе век компьютерщиков
проверку орфографии не включить
Сумма пишется с двумя м
прежде чем стать хорошим программистом — начните уважать родной язык
Уважаемый, для зануд у нас есть кнопка «Редавтировать», используйте ее. Кстати, не для всех, кто пишет/читает/комментирует что-либо на OL, русский язык — родной.
Кстати, на счет хороших программистов. Эта задача решается без всяких циклов. Сумма арифметической прогрессии для 3 плюс сумма арифметической прогрессии для 5 минус сумма арифметической прогрессии для 15. Итого: три деления для вычисления числа элементов в прогрессиях и еще три деления и три умножения для вычисления самих сумм (сложения и вычитания я опускаю). А если учесть, что верхняя граница диапазона чисел не есть параметр в программе, то можно сразу написать ответ :)
Ещё могу
ЗЫ:
И нет, я не lisp'er.
там же до тысячи, а не до десяти тысяч.
проверку орфографии не включить
Сумма пишется с двумя м
прежде чем стать хорошим программистом — начните уважать родной язык
Научись писать Редактировать, потом будешь батю учить трахаться.