题目:n根火柴棒,能组成最大的数是多少?最小的正整数是多少?
#include <stdio.h>
int main()
{
int n,m,bg,i;
while(scanf("%d",&n)==1)
{
m=n;
bg = 1;
while(m!=0)
{
if(m<=7)
{
switch(m)
{
case 2: printf("1"); break;
case 3: printf("7"); break;
case 4: printf("4"); break;
case 5: printf("2"); break;
case 6: if(bg) printf("6"); else printf("0"); break;
case 7: printf("8"); break;
}
m=0;
}
else
{
switch(m%7)
{
case 1: printf("10"); m-=8; break;
case 2: printf("1"); m-=2; break;
case 3:
case 4:
case 5: if(bg) {printf("2"); m-=5;} else {printf("0"); m-=6;} break;
case 6: if(bg) printf("6"); else printf("0"); m-=6; break;
case 0: printf("8"); m-=7; break;
}
}
bg = 0;
}
printf(" ");
if (n%2==0)
{
for (i=0;i<n/2;i++)
printf("1");
}
else
{
printf("7");
for (i=0;i<(n-3)/2;i++)
printf("1");
}
printf("\n");
}
}