全部评论
你好,请问微众笔试就只有三道编程题么?
有消息了吗,我考完到现在还没任何消息
这是个公式题,对角线法则 s(n-1)=n(n-1)╱2然后求列和行
我写的稍微有一点点麻烦,不过比较好理解。把数组旋转一下变成一个三角形理解,先算出三角形的行列坐标,再调整一下奇偶行 static String GetResult(int N) {
if (N <= 0) throw new IllegalArgumentException();
int line = 1;
int sum = 0;
while (sum < N) {
sum+=line;
line++;
}
line--;
int position = sum - N;
if (line % 2 == 0) {
position = line - position - 1;
}
int left = 1 + position;
int right = line - position;
return left + "/" + right;
}
//这是我写的代码
public static void main(String[] args) { for (int i = 1; i < 100; i++) { get(i); }
} static void get(int n){ int num=n; int k=0; for (int i = 1; i <= num; i++) { if (i>=n){
k=i; break; }
n-=i; }
k++; k-=n; System.out.println(n+"/"+k); }
老哥算法题都写完了吗
我也是82
那么大的数,不能用int存的,long long int也不行,根本放不下。要用类似小学生做减法去借位的方法。只不过是二进制的减法。
相关推荐
点赞 评论 收藏
分享