Pagini recente » Istoria paginii utilizator/vladbuzetelu | Cod sursa (job #1034295) | Cod sursa (job #1646687) | Cod sursa (job #589964) | Cod sursa (job #229767)
Cod sursa(job #229767)
#include <stdio.h>
#include <math.h>
#define dim 100
long n, s1, s2, ul1, ul2;
int main()
{
long i;
freopen("multimi2.in", "r", stdin);
freopen("multimi2.out", "w", stdout);
scanf("%ld\n", &n);
if (n%2==0) s1=n/2*(n+1);
else s1=(n+1)/2*n;
s2=s1/2;
ul1=(sqrt(1+8*s2)-1)/2;
while (ul1*(ul1+1)<=s2) ul1++;
ul1--;
if (ul1%2==0) ul2=s2-ul1/2*(ul1+1);
else ul2=s2-(ul1+1)/2*ul1;
printf("%ld\n", s1-2*s2);
printf("%ld\n", ul1+1);
for (i=1; i<=ul1; i++) printf("%ld ", i);
printf("%ld\n", ul2);
printf("%ld\n", n-ul1-1);
for (i=ul1+1; i<=n; i++)
if (i!=ul2) printf("%ld ", i);
return 0;
}