ENG  RUSTimus Online Judge
Online Judge
Problems
Authors
Online contests
About Online Judge
Frequently asked questions
Site news
Webboard
Links
Problem set
Submit solution
Judge status
Guide
Register
Update your info
Authors ranklist
Current contest
Scheduled contests
Past contests
Rules
back to board

Discussion of Problem 1023. Buttons

VERY easy :)
Posted by RezistaL 27 Mar 2010 14:33
A - first divider of K, which is more or equal than 3 (A>=3)
We need write A-1.
AC - 0.578 and 134 KB

Edited by author 27.03.2010 14:34
Re: VERY easy :)
Posted by pkl 18 Aug 2011 03:04
I made the same, but WA on test 11. What's the matter?
I see a solution in another topic, there used I64. Oh, don't tell me to use I64. 10^8 is involved to int.
Why does not it work?

<code>
#include <stdio.h>

int K;
int L;

int main()
{
    scanf("%d", &K);
    L = 2;
    while (K%(L+1) != 0)
    {
        if ((L+1)*(L+1) > K)
        {
            printf("%d\n", K-1);
            return 0;
        }
        L++;
    }

    printf("%d\n", L);
    return 0;
}
</code>

Edited by author 18.08.2011 03:22
Re: VERY easy :)
Posted by pkl 18 Aug 2011 03:55
At last. I undestood. Expression "if ((L+1)*(L+1) > K)" not correct, because we skip 2. Since for K=8, we return 7, when the correct answer is 3.

Edited by author 18.08.2011 03:56
Re: VERY easy :)
Posted by Frankie 27 Nov 2011 17:42
> I made the same
No I see u didn't :) The actual solution is 5 lines, 4 of which are declarations and i/o

Edited by author 27.11.2011 17:43