由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - T家在线测试面经,感觉好难啊
相关主题
一道twitter的题面试题,min steps to reduce n to 1
G家面经求Amazon Video Coding Exercise - WOB面经
问一道算法题(整数表示成乘积)发个面经吧[Data Scientist] (转载)
请问一道面试题careercup上这道题我竟然没看懂
hackerrank weekly contest problem 2, How many Matrices这道题,怎么做呀?
一道L题不用大整数如何计算组合数?
DB面经一道巨常见的题
Zenefits面经(已挂)integer to roman的考点在哪里呢?
相关话题的讨论汇总
话题: int话题: pair话题: 整数话题: integer话题: results
进入JobHunting版参与讨论
1 (共1页)
i**********u
发帖数: 23
1
Hackerrank, 一小时两道。第二道10分钟,很简单,第一道怎么也想不到,样例都没全
过。提交后不到一天就收到拒信。
两个整数a,b满足0 < a <= m, 0 < b <= n,且(a^(1/3) + b^(1/3))^3也是整数
input:m,n
output: 满足以上关系的(a,b)的对数,比如m = 1, n = 8, 有两组 (1,1), (1,8)
p****n
发帖数: 17
2
a^(1/3)b^(1/3)(a^(1/3)+b^(1/3))
确保a^(1/3), b^(1/3)都是整数
y***x
发帖数: 148
3
就是找整数开立方吧
[在 iamxinyonghu () 的大作中提到:]
:Hackerrank, 一小时两道。第二道10分钟,很简单,第一道怎么也想不到,样例都没
全过。提交后不到一天就收到拒信。

:...........
t**c
发帖数: 480
4
a,b都是某数的三次方
这么一缩小范围,就基本没剩几个了
感觉比leetcode easy的题还简单啊
i**********u
发帖数: 23
5
我没有试这个方法,因为2,16就可以满足,我觉得题面这么复杂,这么简单的答案还
能是T家么

【在 t**c 的大作中提到】
: a,b都是某数的三次方
: 这么一缩小范围,就基本没剩几个了
: 感觉比leetcode easy的题还简单啊

a********m
发帖数: 15480
6
把a^(1/3),b^(1/3)作为循环变量。

【在 i**********u 的大作中提到】
: Hackerrank, 一小时两道。第二道10分钟,很简单,第一道怎么也想不到,样例都没全
: 过。提交后不到一天就收到拒信。
: 两个整数a,b满足0 < a <= m, 0 < b <= n,且(a^(1/3) + b^(1/3))^3也是整数
: input:m,n
: output: 满足以上关系的(a,b)的对数,比如m = 1, n = 8, 有两组 (1,1), (1,8)

i**********u
发帖数: 23
7
能详细点么,不是很明白,需要floating number参与计算么?

【在 a********m 的大作中提到】
: 把a^(1/3),b^(1/3)作为循环变量。
a********m
发帖数: 15480
8
完全不需要呀。
for (int i = 1; i * i * i <= m; ++i) {
for (int j = 1; j * j * j <= n; ++j) {
results.push(i * i * i, j * j * j);
}
}

【在 i**********u 的大作中提到】
: 能详细点么,不是很明白,需要floating number参与计算么?
p**r
发帖数: 5853
9
个人感觉你被开立方给唬住了,
又不是让你人脑算,直接给啥公式写啥公式。
不过t也不行了,不去也好。

【在 i**********u 的大作中提到】
: Hackerrank, 一小时两道。第二道10分钟,很简单,第一道怎么也想不到,样例都没全
: 过。提交后不到一天就收到拒信。
: 两个整数a,b满足0 < a <= m, 0 < b <= n,且(a^(1/3) + b^(1/3))^3也是整数
: input:m,n
: output: 满足以上关系的(a,b)的对数,比如m = 1, n = 8, 有两组 (1,1), (1,8)

i**********u
发帖数: 23
10
感觉不对啊,(2,16)这一对就漏了

【在 a********m 的大作中提到】
: 完全不需要呀。
: for (int i = 1; i * i * i <= m; ++i) {
: for (int j = 1; j * j * j <= n; ++j) {
: results.push(i * i * i, j * j * j);
: }
: }

相关主题
一道L题面试题,min steps to reduce n to 1
DB面经求Amazon Video Coding Exercise - WOB面经
Zenefits面经(已挂)发个面经吧[Data Scientist] (转载)
进入JobHunting版参与讨论
p**r
发帖数: 5853
11
你看下楼下虫子的解法,
一般面试的时候sqrt,开立方之类的都是转成n*n,n*n*...来做,
效率高。

【在 i**********u 的大作中提到】
: 能详细点么,不是很明白,需要floating number参与计算么?
a********m
发帖数: 15480
12
哦。你说的对。
这样的话把刚才那个循环结果再过一遍。
for (k = 0; k < results.length; ++k) {
for (l = 0; l * results[l][0] < m && l * results[l][1] < n; ++l)
results2.push(l * results[l][0], l * results[l][1]);
for (l = 0; l * results[l][1] < m && l * results[l][0] < n; ++l)
results2.push(l * results[l][1], l * results[l][0]);
}
return results + results2;

【在 i**********u 的大作中提到】
: 感觉不对啊,(2,16)这一对就漏了
i**********u
发帖数: 23
13
我的方法也差不多,把倍数的都算上,但是结果通不过。靠猜不严谨,总觉得还有别的
漏掉的。难道是个数学题?

【在 a********m 的大作中提到】
: 哦。你说的对。
: 这样的话把刚才那个循环结果再过一遍。
: for (k = 0; k < results.length; ++k) {
: for (l = 0; l * results[l][0] < m && l * results[l][1] < n; ++l)
: results2.push(l * results[l][0], l * results[l][1]);
: for (l = 0; l * results[l][1] < m && l * results[l][0] < n; ++l)
: results2.push(l * results[l][1], l * results[l][0]);
: }
: return results + results2;

a********m
发帖数: 15480
14
应该不会的。估计是边界条件问题。三次方没有勾股定理。
看一下费马定理。

【在 i**********u 的大作中提到】
: 我的方法也差不多,把倍数的都算上,但是结果通不过。靠猜不严谨,总觉得还有别的
: 漏掉的。难道是个数学题?

i**********u
发帖数: 23
15
恩,我也担心这个。我觉得这题如果没有严格证明,T家不应该拿出来吧。。。

【在 a********m 的大作中提到】
: 应该不会的。估计是边界条件问题。三次方没有勾股定理。
: 看一下费马定理。

r****7
发帖数: 2282
16
直接遍历不就行了么。。。

【在 i**********u 的大作中提到】
: Hackerrank, 一小时两道。第二道10分钟,很简单,第一道怎么也想不到,样例都没全
: 过。提交后不到一天就收到拒信。
: 两个整数a,b满足0 < a <= m, 0 < b <= n,且(a^(1/3) + b^(1/3))^3也是整数
: input:m,n
: output: 满足以上关系的(a,b)的对数,比如m = 1, n = 8, 有两组 (1,1), (1,8)

a********m
发帖数: 15480
17
费马定理20年前已经被证明了。呵呵。

【在 i**********u 的大作中提到】
: 恩,我也担心这个。我觉得这题如果没有严格证明,T家不应该拿出来吧。。。
b**********5
发帖数: 7881
18
你怎么遍历 那个cube root?
double n1 = Math.cbrt(2.0);
double n2 = Math.cbrt(16.0);
double x = Math.pow(Math.cbrt(2.0) + Math.cbrt(16.0), 3.0);
那个最后的double x 不是integer。。。

【在 r****7 的大作中提到】
: 直接遍历不就行了么。。。
b**********5
发帖数: 7881
19
你这个也不对啊, 还是得不到 (2,16)
比如 result是 [(1,1),(1,8)], 你下面这个循环怎么得到2,16的?

【在 a********m 的大作中提到】
: 哦。你说的对。
: 这样的话把刚才那个循环结果再过一遍。
: for (k = 0; k < results.length; ++k) {
: for (l = 0; l * results[l][0] < m && l * results[l][1] < n; ++l)
: results2.push(l * results[l][0], l * results[l][1]);
: for (l = 0; l * results[l][1] < m && l * results[l][0] < n; ++l)
: results2.push(l * results[l][1], l * results[l][0]);
: }
: return results + results2;

b**********5
发帖数: 7881
20
https://www.quora.com/How-do-we-find-a-pair-of-integers-a-b-such-that-a-1-3-
+-b-1-3-3-is-an-integer
我觉得这道题, 挺男的。 楼上几个说简单的, 拿code出来让我run一下, 你自己看
2,16 这个pair, or (3,27) pair 就知道了
相关主题
careercup上这道题我竟然没看懂一道巨常见的题
这道题,怎么做呀?integer to roman的考点在哪里呢?
不用大整数如何计算组合数?Splunk面经 (转载)
进入JobHunting版参与讨论
C*****n
发帖数: 1049
21
如果是easy难度给我的感觉就是:
先找出立方根是整数的那些数,如1,8,27,64等等,然后再乘以相同的倍数。
因为如果a、b可以写成a=kx, b=ky (k=2,3,4,...),那么:
(a^1/3 + b^1/3)^3= k(x^1/3 + y^1/3)
如果x、y是1、8、27、64这种数的话,那上面的式子也会是整数。
比如m=n=60,那么满足条件的对数是(假设a (1,8),(2,16),(3,24),(4,32),(5,40),(6,48),(7,56)
(1,27),(2,54)
(8,27),(16,54)
剩下的问题就是证明如果a,b没有像k那样的公约数必然得不出(a^1/3 + b^1/3)^3为整
数。

【在 i**********u 的大作中提到】
: Hackerrank, 一小时两道。第二道10分钟,很简单,第一道怎么也想不到,样例都没全
: 过。提交后不到一天就收到拒信。
: 两个整数a,b满足0 < a <= m, 0 < b <= n,且(a^(1/3) + b^(1/3))^3也是整数
: input:m,n
: output: 满足以上关系的(a,b)的对数,比如m = 1, n = 8, 有两组 (1,1), (1,8)

r*****s
发帖数: 1815
22
我觉得这题,挺简单的。
你说难,只要多想一步,就简单了。说白了不过是说,a,b可以分别写成x^3m和y^3n的
形式,其中m,n不能继续分解成如上形式或为1。
而经过简单替换,(m^2n)和(n^2m)都是整数的三次方,假设将m质因数分解,是q1q2q3.
..qc,n是p1p2p3...pd,则我们知道:m和n的分解中unique质因数一一对应,而且m和n的
分解中每种质因数的出现次数不是1就是2(否则和预处理步骤相悖)
具体考察一个质因数r,它在m里出现t次,在n里出现u次,我们要保证t*2+u和u*2+t都
可以被n整除,且t和u的值域都是1,2
否则就是两个cubic roots无理数相加是不是可能是有理数的问题,我手机实在不能打
了,这里有个链接:http://math.stackexchange.com/questions/437710/cube-roots-dont-sum-up-to-integer
由此可知,对于每一个质因数,要么同时t u都是1,要么同时都是2。
于是可知直觉正确,m和n相等。
于是可知,这两个数有x^3n和y^3n的形式
于是仍然是一道非常简单的题目
手机打字,很不方便。。

3-

【在 b**********5 的大作中提到】
: https://www.quora.com/How-do-we-find-a-pair-of-integers-a-b-such-that-a-1-3-
: +-b-1-3-3-is-an-integer
: 我觉得这道题, 挺男的。 楼上几个说简单的, 拿code出来让我run一下, 你自己看
: 2,16 这个pair, or (3,27) pair 就知道了

r*****s
发帖数: 1815
23
直觉是对的,你的头像怎么回事。。

【在 C*****n 的大作中提到】
: 如果是easy难度给我的感觉就是:
: 先找出立方根是整数的那些数,如1,8,27,64等等,然后再乘以相同的倍数。
: 因为如果a、b可以写成a=kx, b=ky (k=2,3,4,...),那么:
: (a^1/3 + b^1/3)^3= k(x^1/3 + y^1/3)
: 如果x、y是1、8、27、64这种数的话,那上面的式子也会是整数。
: 比如m=n=60,那么满足条件的对数是(假设a: (1,8),(2,16),(3,24),(4,32),(5,40),(6,48),(7,56)
: (1,27),(2,54)
: (8,27),(16,54)
: 剩下的问题就是证明如果a,b没有像k那样的公约数必然得不出(a^1/3 + b^1/3)^3为整

l*******g
发帖数: 84
24
(1,1)
(2^0, 2^3),(2^1, 2^4)....
(3^0, 3^3),(3^1, 3^4)....
.
.
.
(x^n, x^(n+3))
{ x >=1 && n >= 0 }
r*******g
发帖数: 1335
25
这道题本版讨论过,需要质因数分解,分解之后也挺难,不好写程序。通俗的说,需要
由不同的质因数生成新的整数,满足范围要求。
l*******g
发帖数: 84
26
list.Add( (1,1));
for( int i = 2 ;i <=n ; ++i )
for( int j = 0; Math.Pow( i, j + 3 ) <= m ; ++j )
list.Add( i, Math.Pow( i, j + 3) );
return list;
r*****s
发帖数: 1815
27
3, 24

【在 l*******g 的大作中提到】
: (1,1)
: (2^0, 2^3),(2^1, 2^4)....
: (3^0, 3^3),(3^1, 3^4)....
: .
: .
: .
: (x^n, x^(n+3))
: { x >=1 && n >= 0 }

b**********5
发帖数: 7881
28
是啊, 这里一通人, 说话说了一大通, 没一个人写code的。 那些中文的technical
term, math term, 看的我都头疼。。。

【在 r*******g 的大作中提到】
: 这道题本版讨论过,需要质因数分解,分解之后也挺难,不好写程序。通俗的说,需要
: 由不同的质因数生成新的整数,满足范围要求。

r*****s
发帖数: 1815
29
shabi.
x^3 ==> pow(x, 3)
for (int i = 0; i <= min(m,n); ++i) {
for (int x = 0; x^3*i <= m; ++x) {
for (int y = 0; y^3*i <= n; ++y) {
//insert x^3*i and y^3*i pair into a hash set:
set.insert(make_pair(x^3*i, x^3*i));
}
}
}
output(set)
there are lots of ways to dedup/optimize, but idea is clear and simple.

technical

【在 b**********5 的大作中提到】
: 是啊, 这里一通人, 说话说了一大通, 没一个人写code的。 那些中文的technical
: term, math term, 看的我都头疼。。。

b**********5
发帖数: 7881
30
好像第一个iteration就不对啊, insert (0,0)。。。

【在 r*****s 的大作中提到】
: shabi.
: x^3 ==> pow(x, 3)
: for (int i = 0; i <= min(m,n); ++i) {
: for (int x = 0; x^3*i <= m; ++x) {
: for (int y = 0; y^3*i <= n; ++y) {
: //insert x^3*i and y^3*i pair into a hash set:
: set.insert(make_pair(x^3*i, x^3*i));
: }
: }
: }

相关主题
求教一道最大公约数的题G家面经
请问这道题如何做?Zero-one multiple问一道算法题(整数表示成乘积)
一道twitter的题请问一道面试题
进入JobHunting版参与讨论
r*****s
发帖数: 1815
31
0, 0难道不符合 (a^1/3 + b^1/3) = 0?????

【在 b**********5 的大作中提到】
: 好像第一个iteration就不对啊, insert (0,0)。。。
b**********5
发帖数: 7881
32
两个整数a,b满足0 < a <= m, 0 < b <= n

【在 r*****s 的大作中提到】
: 0, 0难道不符合 (a^1/3 + b^1/3) = 0?????
r*****s
发帖数: 1815
33
那就去掉0呗,i,x,y都从1开始枚举。意思对了就行了,真是智障。你缺少思考的能力
,只会不断挑些细枝末节的毛病。

【在 b**********5 的大作中提到】
: 两个整数a,b满足0 < a <= m, 0 < b <= n
b**********5
发帖数: 7881
34
tmd, 你去面试时候, 会对interviewer说这些话么??!!

【在 r*****s 的大作中提到】
: 那就去掉0呗,i,x,y都从1开始枚举。意思对了就行了,真是智障。你缺少思考的能力
: ,只会不断挑些细枝末节的毛病。

r*****s
发帖数: 1815
35
现在是你interview我吗?不是就他妈闭嘴,狗屁都想不出来我他妈义务给你提点一下
你他妈还有理了?

【在 b**********5 的大作中提到】
: tmd, 你去面试时候, 会对interviewer说这些话么??!!
r*****s
发帖数: 1815
36
i = 2
x = 1
y = 2
shabi

能力

【在 b**********5 的大作中提到】
: tmd, 你去面试时候, 会对interviewer说这些话么??!!
l******n
发帖数: 9344
37
效率低下的直接循环,应该不会漏
import math
m = 2
n = 16
for i in range(1,m+1):
for j in range(1,n+1):
a = i*1.0
b = j*1.0
if math.ceil(math.pow(a,1.0/3)*math.pow(b,1.0/3)*(math.pow(a,1.0/3)+
math.pow(b,1.0/3))) == math.floor(math.pow(a,1.0/3)*math.pow(b,1.0/3)*(math.
pow(a,1.0/3)+math.pow(b,1.0/3))):
print a,b

【在 i**********u 的大作中提到】
: Hackerrank, 一小时两道。第二道10分钟,很简单,第一道怎么也想不到,样例都没全
: 过。提交后不到一天就收到拒信。
: 两个整数a,b满足0 < a <= m, 0 < b <= n,且(a^(1/3) + b^(1/3))^3也是整数
: input:m,n
: output: 满足以上关系的(a,b)的对数,比如m = 1, n = 8, 有两组 (1,1), (1,8)

f******b
发帖数: 1148
38
A b 是立方数
或者 a/b or b/a 是立方数

★ 发自iPhone App: ChineseWeb 1.0.6

【在 i**********u 的大作中提到】
: Hackerrank, 一小时两道。第二道10分钟,很简单,第一道怎么也想不到,样例都没全
: 过。提交后不到一天就收到拒信。
: 两个整数a,b满足0 < a <= m, 0 < b <= n,且(a^(1/3) + b^(1/3))^3也是整数
: input:m,n
: output: 满足以上关系的(a,b)的对数,比如m = 1, n = 8, 有两组 (1,1), (1,8)

k*****e
发帖数: 93
39
大部分人都错了。
When a=b, it must be true. But most people forgot it.
beefcurtain5的是正解。
int pair_cubic(int m, int n)
{
set> s;
for(int i=1; i <= min(m,n); i++)
for(int a=1; a*a*a*i <= m; a++)
for(int b = 1; b*b*b*i <= n; b++)
s.insert(make_pair(a*a*a*i, b*b*b*i));
return s.size();
}
r*******y
发帖数: 270
40
那些说简单直接开立方的,这种做法是错误的。你道题需要质因数分解,不是一道简单
的题目。
相关主题
请问一道面试题DB面经
hackerrank weekly contest problem 2, How many MatricesZenefits面经(已挂)
一道L题面试题,min steps to reduce n to 1
进入JobHunting版参与讨论
b********6
发帖数: 35437
41
把立方公式展开,就成了a + b + a^(2/3)b^(1/3) + a^(1/3)b^(2/3)
a和b肯定是整数,就是要考虑后面两项是整数的情况,严格的数学不知道怎么证
就是要求a=n^3 * k和b = m^3 * k的组合,一个一个试就行了
k = 1的时候,1,8,27,。。。
k = 2的时候,2,16,54.。。
k = 3的时候,3,24,81。。。
一直循环下去
r*******g
发帖数: 1335
42
这道题牛肉姐不是已经贴了链接了吗,这不是一道简单的题,凡是不去求质因数的基本
都是错的吧。
通俗说,a=x1^n1*x2^n2*... b=x1^m1*x2^m2*....
其中x_i是质因数,n_i,m_i需要满足一定数学关系。所以先要求质因数,然后质因数还
要combination,我的想法是,先求出质因数,对x1把n1, n1+3, n1+6...这样的幂分成
一组,对x2,把n2, n2+3, n2+6....这样的分为一组,找出所有满足范围要求的组,这
一步不好写。
假设满足a范围要求的组有K个,每个里面有K_j个数,假设满足b范围要求的组有M个,
每个里面有M_j个。所以最后结果是K_j*M_j求和。这是因为,a的一个组,唯一对应b另
外的一个组。
所以这道题根本不简单,难点是怎么遍历combination,然后建立组。
如果不建立组,那对每个符合要求的a,你都要重新去遍历找b,开销是很大的。
r*******g
发帖数: 1335
43
由于题目范围都是从0开始,所以感觉会有不少重复的,通俗的说,分组的时候,满足a
范围要求的数很多也满足b的范围要求。
a=x1^n1*x2^n2*.最开始n1,n2...都是0,但是怎么逐渐增大n_i呢?
b********6
发帖数: 35437
44
谁来测一下我这个程序?
vector > triple( int n )
{
vector > ans;
if( n < 1 )
return ans;
int i = 1;
while( i <= n )
{
ans.push_back(make_pair( i , i));
for( int j = 2; i*j*j*j <= n; j++ )
{
ans.push_back(make_pair( i , i*j*j*j));
ans.push_back(make_pair( i*j*j*j , i));
}
i++;
}
return ans;
}
l***i
发帖数: 1309
45
Here is an idea and a proof sketch.
Solution: (c*a, c*b) for cubic numbers a and b and integer c >= 1. It is
easy to see those are solutions, but takes a proof to show that they are the
only solutions.
Observation: if (a,b) is a solution, then (k*a, k*b) is also a solution, for
integer k >= 1.
Claim: If (a, b) is a solution, then both a and b must be cubic numbers.
Now let's prove that claim. W.l.o.g. we may assume gcd(a,b) = 1, and we may
also assume that a is not a cubic number. Let p be a prime factor of a. We
know that b does not divide p.
Let u = a^1/3 and v = b^1/3, also let a = p*q
(u + v)^3 = a + b + u^2*v + u*v^2
Notice that u^2*v * u*v^2 = u^3 * v^3 = a * b is an integer, so u^2*v is an
integer iff u*v^2 is an integer.
u^2*v = p^2/3 * q^2/3 * b^1/3
This cannot be an integer because p is a prime and u^2*v must divide p if u^
2*v is an integer. (* This step is hand wavy and some number theory expert
please tell me what theorem needed here. *)
For the same reason u*v^2 is not an integer.
Q.E.D.
j**********3
发帖数: 3211
46
T 哪一步需要这个在线测试啊?为什么没问我啊
l******8
发帖数: 1691
47
赞!

q1q2q3.

【在 r*****s 的大作中提到】
: 我觉得这题,挺简单的。
: 你说难,只要多想一步,就简单了。说白了不过是说,a,b可以分别写成x^3m和y^3n的
: 形式,其中m,n不能继续分解成如上形式或为1。
: 而经过简单替换,(m^2n)和(n^2m)都是整数的三次方,假设将m质因数分解,是q1q2q3.
: ..qc,n是p1p2p3...pd,则我们知道:m和n的分解中unique质因数一一对应,而且m和n的
: 分解中每种质因数的出现次数不是1就是2(否则和预处理步骤相悖)
: 具体考察一个质因数r,它在m里出现t次,在n里出现u次,我们要保证t*2+u和u*2+t都
: 可以被n整除,且t和u的值域都是1,2
: 否则就是两个cubic roots无理数相加是不是可能是有理数的问题,我手机实在不能打
: 了,这里有个链接:http://math.stackexchange.com/questions/437710/cube-roots-dont-sum-up-to-integer

N*D
发帖数: 3641
48
(a+b)^3展开,其实就是找a和b可以开三次方的,以及a^2*b和a*b^2可以开三次方的就
可以了,对吧?
s***a
发帖数: 82
49
呵呵, 确实。
这里好多人如果我面试, 肯定不让过, 不是因为答的不对, 而是思维心态很不open。

【在 r*******y 的大作中提到】
: 那些说简单直接开立方的,这种做法是错误的。你道题需要质因数分解,不是一道简单
: 的题目。

l******n
发帖数: 9344
50
面试的时候时间那么紧,当然先从最简单直接明了的方式做起,有时间再改进。如果你
希望应试者用特定的思路做,你需要明确的提示
感觉老中面试官对中国人就是这种心态,都以为自己是bar raiser,吹毛求疵.如果来面
试的老美,估计就是另外的说法了。多学学烙印,不是光被整了之后嘴上的发发牢骚

open。

【在 s***a 的大作中提到】
: 呵呵, 确实。
: 这里好多人如果我面试, 肯定不让过, 不是因为答的不对, 而是思维心态很不open。

相关主题
求Amazon Video Coding Exercise - WOB面经这道题,怎么做呀?
发个面经吧[Data Scientist] (转载)不用大整数如何计算组合数?
careercup上这道题我竟然没看懂一道巨常见的题
进入JobHunting版参与讨论
m***b
发帖数: 30
51
for (k = 1,2,3,4.....)
for (j = k, k+1, k+2, ........)
for (p = 1, 2, 3, .........)
a = p * k^3 <=m
b = p * j^3 <=n
n*****g
发帖数: 365
52
这个题的表达式展开后:
(a^(1/3)+b^(1/3))^3 = 3(ab)^(1/3)(a^(1/3)+b^(1/3)) + a +b
所以关键是 前半部分是整数:(ab)^(1/3)(a^(1/3)+b^(1/3))
加入 b>a, and b=a^m,上式变为:
a^(m+2/3)(1+a^m)
为保证整数,m可取1,4,7,,
所以,b=a^1 (b==a) , b=a^4, b=a^7,,,
这样可以保证把3,27 和 2,16 包括进去。程序需要遍历 O(M*N)
感觉初中奥赛题目呀啊,年纪大了力不从心
r*****s
发帖数: 1815
53
错了。2, 54

【在 n*****g 的大作中提到】
: 这个题的表达式展开后:
: (a^(1/3)+b^(1/3))^3 = 3(ab)^(1/3)(a^(1/3)+b^(1/3)) + a +b
: 所以关键是 前半部分是整数:(ab)^(1/3)(a^(1/3)+b^(1/3))
: 加入 b>a, and b=a^m,上式变为:
: a^(m+2/3)(1+a^m)
: 为保证整数,m可取1,4,7,,
: 所以,b=a^1 (b==a) , b=a^4, b=a^7,,,
: 这样可以保证把3,27 和 2,16 包括进去。程序需要遍历 O(M*N)
: 感觉初中奥赛题目呀啊,年纪大了力不从心

1 (共1页)
进入JobHunting版参与讨论
相关主题
integer to roman的考点在哪里呢?hackerrank weekly contest problem 2, How many Matrices
Splunk面经 (转载)一道L题
求教一道最大公约数的题DB面经
请问这道题如何做?Zero-one multipleZenefits面经(已挂)
一道twitter的题面试题,min steps to reduce n to 1
G家面经求Amazon Video Coding Exercise - WOB面经
问一道算法题(整数表示成乘积)发个面经吧[Data Scientist] (转载)
请问一道面试题careercup上这道题我竟然没看懂
相关话题的讨论汇总
话题: int话题: pair话题: 整数话题: integer话题: results