题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版)
解题思路:
本题的做法最重要的应该是如何拼出‘1234567890’,对于输入表达试获得对应的结果利用python内置函数eval()即可以实现。利用5个字符串来表达‘1234567890’,如下(为了好看,里面加了tab空格符)
‘66666 ....6 66666 66666 6...6 66666 66666 66666 66666 66666‘
‘6...6 ....6 ....6 ....6 6...6 6.... 6.... ....6 6...6 6...6‘
‘6...6 ....6 66666 66666 66666 66666 66666 ....6 66666 66666‘
‘6...6 ....6 6.... ....6 ....6 ....6 6...6 ....6 6...6 ....6‘
‘66666 ....6 66666 66666 ....6 66666 66666 ....6 66666 66666‘
#-*- coding:utf-8 -*-
list_s=[ ‘66666....666666666666...66666666666666666666666666‘,
‘6...6....6....6....66...66....6........66...66...6‘,
‘6...6....66666666666666666666666666....66666666666‘,
‘6...6....66........6....6....66...6....66...6....6‘,
‘66666....66666666666....66666666666....66666666666‘]
n = int(input())
list_n=[]
#保存输入的表达式
for a in range(0,n):
a=raw_input()
list_n.append(a)
for b in list_n:
s = eval(b)
#将数字转化为list
s=[int(i) for i in str(s)]
for i in range(0,5):
#将每个数字的一行存在一个数组
string=[]
for j in s:
string.append(list_s[i][j * 5:j * 5 + 5])
#以‘..’输出每一行
print ‘..‘.join(string)