我是C++的新手但是认为在一些项目上工作Euler问题会让我熟悉这门语言.
我无法让我的C++解决方案工作,但我的python解决方案没有问题...
import time
start = time.time()
memo = {1:1,2:2}
longest_chain, longest_starting_key = 2, 2
def rec(a):
global longest_chain, longest_starting_key
if a in memo.keys():
return memo[a]
if a % 2 == 0:
memo[a] = rec(a // 2) + 1
else:
memo[a] = rec(3 * a + 1) + 1
if memo[a] > longest_chain:
longest_chain = memo[a]
longest_starting_key = a
return memo[a]
for i in range(1000000,3,-1): rec(i)
print("starting key", longest_starting_key , ": has length", longest_chain)
print((time.time() - start), "seconds") …Run Code Online (Sandbox Code Playgroud) 说我有以下数据框,索引代表年龄,列名是某个类别,框架中的值是频率......
现在我想以各种方式分组年龄(2年箱,5年箱和10年箱)
>>> table_w
1 2 3 4
20 1000 80 40 100
21 2000 40 100 100
22 3000 70 70 200
23 3000 100 90 100
24 2000 90 90 200
25 2000 100 80 200
26 2000 90 60 100
27 1000 100 30 200
28 1000 100 90 100
29 1000 60 70 100
30 1000 70 100 100
31 900 40 100 90
32 700 100 30 100
33 700 30 50 90
34 600 …Run Code Online (Sandbox Code Playgroud)