bf6eb87bd8
From-SVN: r22719
39 lines
422 B
C
39 lines
422 B
C
#define NG 0x100L
|
|
|
|
unsigned long flg = 0;
|
|
|
|
long sub (int n)
|
|
{
|
|
int a, b ;
|
|
|
|
if (n >= 2)
|
|
{
|
|
if (n % 2 == 0)
|
|
{
|
|
a = sub (n / 2);
|
|
|
|
return (a + 2 * sub (n / 2 - 1)) * a;
|
|
}
|
|
else
|
|
{
|
|
a = sub (n / 2 + 1);
|
|
b = sub (n / 2);
|
|
|
|
return a * a + b * b;
|
|
}
|
|
}
|
|
else
|
|
return (long) n;
|
|
}
|
|
|
|
int main (void)
|
|
{
|
|
if (sub (30) != 832040L)
|
|
flg |= NG;
|
|
|
|
if (flg)
|
|
abort ();
|
|
|
|
exit (0);
|
|
}
|