positive   2년 전

프로그램 실행도 되구 N=15 L=6 도 되는데 어디가 틀린걸까요? 반례도 못찾겠어요ㅠ

#include<stdio.h>
#include<stdlib.h>

int main()
{
int a1, l, s, r; scanf("%d%d", &s, &l);

while (true)
{

if (l > 100 || l*(l - 1) > 2 * s)
{
printf("-1");
return 0;
}
else
{

if (l % 2 == 0) //le 짝수
{
if (((float)s * 2 / l + 1) *l == s*2) // so가 정수인지 판단한거고 so는 ((float)s * 2) / l + 1)가 짝수 인지 판단 , (float)s * 2) / l 가 홀수인지 판단.
{
a1 = ((2 * s) / l + 1 - l) / 2;
for (int i = 0; i < l; i++)
{
printf("%d ", a1 + i);
}
return 0;
}
else // 홀수가 아닌경우
{
l++;
}}
else
{
if (s%l == 0)
{
a1 = s / l - l / 2;
for (int i = 0; i < l; i++)
{
printf("%d ", a1 + i);
}
return 0;
}
else
{
l++;
}}}}
return 0;
}

댓글을 작성하려면 로그인해야 합니다.