Captain Flint and a Long Voyage

Captain Flint and a Long Voyage_第1张图片

Input

Captain Flint and a Long Voyage_第2张图片

Output

在这里插入图片描述

Sample Input

2
1
3

Sample Output

8
998

Note

Captain Flint and a Long Voyage_第3张图片

题目大意:

对于一个n位数,先将每一位转换为二进制数再删掉最后的n个数得到r,即求r的最大的最小n位数。

解题思路:

8(1000)和9(1001)的二进制都为四位数,最后n位数转换之前是8还是9输出结果都一致,因此需要最后的n/4个数为8。

代码如下:

#include 
int main(){
	int t,n,x,y,i;
	scanf("%d",&t);
	while(t--){
		scanf("%d",&n);
		x=(n-1+4)/4;
		y=n-x;
		for(i=1;i<=y;i++)
		printf("9");
		for(i=1;i<=x;i++)
		printf("8");
		printf("\n");
	}
	return 0;
}

你可能感兴趣的:(Captain Flint and a Long Voyage)