下面是腾讯2017年校园招聘笔试题第二题,在这里跟大家一起分享:
2、 我的思路
这题我觉得题目说的很清楚了。用类似于二分查找的方法,记录最大值、最小值和中间值,判断并记录在左区间(值为0)还是右区间(值为1)。因为精度要求为6位,所以循环6次就可以。
3、 我的实现
import java.util.Scanner;
public class Tisan
{
public static void main(String[] args)
{
int low = -90;
int hign = 90;
Scanner scanner = new Scanner(System.in);
while(scanner.hasNextInt())
{
int input = scanner.nextInt();
String output = "";
for(int i=0; i<6; i++)
{
int middle = (low+hign)/2;
if(input >= middle)
{
output += "1";
low = middle;
}
else
{
output += "0";
hign = middle;
}
}
System.out.println(output);
}
}
}
4、 总结
由于腾讯笔试时并没有验证答案的正确性,所以我并不知道我的解法是否完全正确,这里也只是提供我的解题思路和方法,供大家参考。如果发现我的解法有什么问题的话,欢迎批评指正,不胜感激!