Think:
1.观察规律可以发现,尽量满足位数优先,若位数一样则考虑可以选择的较大的数字,将其放于最高位
2.n值相对较大,建议直接输出结果
Problem Description
众所周知,和泉纱雾是著名的埃罗芒阿老师,画画功力首屈一指。今天我们的埃罗芒阿老师又开启了天真无邪嗨嗨嗨的模式。
她现在想要画一些数字(不包括 0),然后她现在有染料 n。对于每个数字消耗的染料:
如图所示:分别对应 2,5,5,4,5,6,3,7,6。
现在纱雾想知道的是她能画出的最大的十进制的数是多大。
Input
输入数据有多组(数据组数不超过 100),到 EOF 结束。
对于每组数据,输入一行,包含一个整数 n (0 <= n <= 100000)。
Output
对于每组数据,如果纱雾画不出数字,请输出 “QAQ”(不包括引号),否则输出纱雾能画出的最大的数字。
Example Input
4
Example Output
11
Hint
她有染料 4,可以选择涂两个 1 或者 1 个 4。很明显 11 > 4。所以应当画 11。
Author
UMR
以下为Accepted代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, i, t;
while(scanf("%d", &n) != EOF)
{
if(n <= 1)
printf("QAQ\n");
else
{
t = n/2;
if(n%2 != 0)
{
printf("7");
t -= 1;
}
for(i = 0; i < t; i++)
printf("1");
printf("\n");
}
}
return 0;
}
/***************************************************
User name:
Result: Accepted
Take time: 16ms
Take Memory: 208KB
Submit time: 2017-05-05 17:28:09
****************************************************/