|
|
|
|
|
|
|
Вернуться
| 1 Верещака Артём Александрович, 07 апреля 2009 г. 22:22:16 | |
|
Ну и как можно короче на паскале Демиденко Виталий???
|
|
|
| 2 Мехрдод ТРГИ [9"А" team], 03 апреля 2009 г. 21:26:17 | |
можно прогрессией как я #include<iostream> using namespace std; int main() { freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); int n,p; cin>>n; if (n<=0) p=2-n; else p=n; cout<<(1+n)*p/2; }
|
|
|
| 3 Демиденко Виталий, 03 апреля 2009 г. 21:12:51 | |
|
Артём Александрович а можно ещё короче))
|
|
|
| 4 Верещака Артём Александрович, 03 апреля 2009 г. 15:55:55 | |
вот readln(n); if n>0 then writeln(((1+n)*n)div 2); if n<=0 then writeln(-((1+(-n))*(-n) div 2-1)); можна и без цикла!!!
|
|
|
| 5 Прыщенко Богдан Олегович, 03 апреля 2009 г. 14:22:35 | |
|
не понимаю сути вопроса... При написаном правильно цикле программа работает для всех чисел. Если писать простым циклом, то сделайте проверку на знак числа, при числе меньше 1 один цикл, при числе больше 1 - другой. Или можно воспользоватся тем, что сумма чисел от 1 до -n равна сумме сумме чисел от 1 до n, взятой с противоположным знаком и уменьшеной на 1 по модулю (от 1 до 5 - 15, от 1 до -5 - (-14)).
|
|
|
Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!
| | | |