ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1120. Сумма последовательных чисел

why i got wrong 4?
Послано shengxi4 23 июл 2004 21:54
#include<stdio.h>

long n,a,k;
void work ()
{
   long i,na,x;
   if (n<316227) x=2*n; else x=316227;
    for (i=x;i>=1;i--)
     {
       na=2*n+i-i*i;
       if (((na%(2*i))==0)&&(na>0))
     {
        na=na/(2*i);
        a=na;
        k=i;
        break;
     }
    }
}
int main ()
{
  scanf ("%ld",&n);
  work ();
  printf ("%ld %ld",a,k);
   return 0;
}
Re: why i got wrong 4?
Послано Kopeliovitch Sergey (1) 24 июл 2004 20:14
Test: 10^9
Your program result: 4811 148480
My AC program result: 26263 25600
Re: why i got wrong 4?
Послано Орифжон Наркулов 25 мар 2007 12:39
#include<iostream>
#include<stdio.h>
using namespace std;
__int64 n,a,k;
void work ()
{
__int64 i,na,x;
if (n<316227) x=2*n; else x=316227;
for (i=x;i>=1;i--)
{
na=2*n+i-i*i;
if (((na%(2*i))==0)&&(na>0))
{
na=na/(2*i);
a=na;
k=i;
break;
}
}
}
int main ()
{
cin>>n;
work ();
cout<<a<<" "<<k;
return 0;
}
shengxi4 писал(a) 23 июля 2004 21:54
#include<stdio.h>

long n,a,k;
void work ()
{
   long i,na,x;
   if (n<316227) x=2*n; else x=316227;
    for (i=x;i>=1;i--)
     {
       na=2*n+i-i*i;
       if (((na%(2*i))==0)&&(na>0))
     {
        na=na/(2*i);
        a=na;
        k=i;
        break;
     }
    }
}
int main ()
{
  scanf ("%ld",&n);
  work ();
  printf ("%ld %ld",a,k);
   return 0;
}
Re: why i got wrong 4?
Послано plague 27 дек 2007 22:10
My program result: 1243 640
for n= 10^6



Edited by author 27.12.2007 22:11