稍微推一下公式就可以了。
| Accepted | 1178 | C | 00:00.01 | 392K |
#include<stdio.h>
void solve(int n)
{
int s = n / 4 + 1 ;
if (n % 4 == 0) s-- ;
int a = s * 4 ;
int i;
for (i = 1; i <= s; i++ )
{
int x = a - 2 * i + 2 ;
int y = 2 * i - 1 ;
if (!(x > n && y > n))
{
printf("Sheet %d, front: " ,i);
if (x > n) printf("Blank, " );
else printf("%d, " ,x);
if (y > n) printf("Blank " );
else printf("%d/n" ,y);
}
x = 2 * i;
y = a - 2 * i + 1 ;
if (!(x > n && y > n))
{
printf("Sheet %d, back : " ,i);
if (x > n) printf("Blank, " );
else printf("%d, " ,x);
if (y > n) printf("Blank/n" );
else printf("%d/n" ,y);
}
}
}
void main()
{
#ifndef ONLINE_JUDGE
freopen("1178.txt","r" ,stdin);
#endif
int n;
while(scanf("%d",&n) != EOF && n != 0 )
{
printf("Printing order for %d pages:/n" ,n);
solve(n);
}
#ifndef ONLINE_JUDGE
fclose(stdin);
#endif
}
void solve(int n)
{
int s = n / 4 + 1 ;
if (n % 4 == 0) s-- ;
int a = s * 4 ;
int i;
for (i = 1; i <= s; i++ )
{
int x = a - 2 * i + 2 ;
int y = 2 * i - 1 ;
if (!(x > n && y > n))
{
printf("Sheet %d, front: " ,i);
if (x > n) printf("Blank, " );
else printf("%d, " ,x);
if (y > n) printf("Blank " );
else printf("%d/n" ,y);
}
x = 2 * i;
y = a - 2 * i + 1 ;
if (!(x > n && y > n))
{
printf("Sheet %d, back : " ,i);
if (x > n) printf("Blank, " );
else printf("%d, " ,x);
if (y > n) printf("Blank/n" );
else printf("%d/n" ,y);
}
}
}
void main()
{
#ifndef ONLINE_JUDGE
freopen("1178.txt","r" ,stdin);
#endif
int n;
while(scanf("%d",&n) != EOF && n != 0 )
{
printf("Printing order for %d pages:/n" ,n);
solve(n);
}
#ifndef ONLINE_JUDGE
fclose(stdin);
#endif
}
896

被折叠的 条评论
为什么被折叠?



