ZCMU-1150-搭数字1

来源:互联网 发布:数据结构与算法张小莉 编辑:程序博客网 时间:2024/05/17 07:44

1150: 搭数字Ⅰ

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 116  Solved: 26
[Submit][Status][Web Board]

Description

楠哥哥是个小屁孩,喜欢玩筷子。有天他发现若干根筷子可以搭成一些数字。如图


(搭出数字1需要两个筷子,数字2需要5根筷子……)
现在就有疑问了,给定n(2<=n<100)根筷子,那个可以组成的最小数是多少?

Input

每行给定一个筷子数量n (2<=n<100)

Output

每行输出用这n根筷子所能组成的最小数。

Sample Input

3
6
7
15

Sample Output

7
0
8
108
【解析】
这种题目肯定是规律题大家就应该把前面的都算出来然后找规律了...算到15到21的时候我们发他们分别是108,188
200,208,288,688,888,22的时候我们发现它是1088再往后其实就是15道21这里面的数加8...
#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;}

0 0
原创粉丝点击