搭数字Ⅰ
描述
楠哥哥是个小屁孩,喜欢玩筷子。有天他发现若干根筷子可以搭成一些数字。如图
(搭出数字1需要两个筷子,数字2需要5根筷子……)
现在就有疑问了,给定n(2<=n<100)根筷子,那个可以组成的最小数是多少?
输入
每行给定一个筷子数量n (2<=n<100)
输出
每行输出用这n根筷子所能组成的最小数。
输入样例 1
3 6 7 15
输出样例 1
7 0 8 108
提示
规律题
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int n,i,j,k;
int a[25]={0,0,1,7,4,2,0,8,10,18,22,20,28,68,88,108,188,200,208,288,688,888};
while(~scanf("%d",&n))
{
if(n<=21)
{
printf("%d\n",a[n]);
}
else if(n>21)
{
printf("%d",a[(n%7)+14]);
k=(n/7)-2;
for(j=0;j<k;j++)
printf("8");
printf("\n");
continue;
}
}
return 0;
}