OpenAI创始人兼CEO Sam Altman说,新版本的摩尔定律即将开始:宇宙中的智力总量将每18个月翻一番!
马斯克说:人工智能比原子弹厉害!
OpenAI创始人兼CEO Sam Altman说,新版本的摩尔定律即将开始:宇宙中的智力总量将每18个月翻一番!
马斯克说:人工智能比原子弹厉害!
就跟邓亚萍领导的搜索引擎一样。
微软的这个雪球,会越滚越大,别人很难追赶。
机器人是要靠数据训练的,就跟中学生刷题一样。
可以这样理解,微软有题海,而其他公司没有。
我一个铁一中毕业的学生目前就干这个,他的观点,跟上文基本一致,不是技术问题,核心算法都是公开的,是管理层的问题,敢不敢花钱。
文本审核也不是问题,微软也要标记有害信息。
“做题量”,喂给机器人的数据量,这是关键。
海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
最后剩下4堆,每堆有255个,程序中,第7行,要到4×255,才能从双循环跳出。
这个题,看似倒推法,但若让小升初学生纸笔计算,根本不可能,计算量太大。初中生,可以解方程。
程序思路:第6行,按照4的倍数枚举,这是沙滩上最后剩下的桃子数。第8行,一个数,不能被4整除,就不可能是上次拿完剩下的总数,就不考虑了,就break。就从for循环跳出,进入到while循环,实验下一个4个倍数。如果一个数,能让for循环进行到5,则5个猴子轮完。x/4相当于给j减了一个1
12行break后,到17行,然后到5行。
第5行,0<5,true,第7行,x=4,第9行,i=0,
第11行,false,第14行,i=1,第15行x=6
第5行,1<5
程序运行结果:
while i= 0
inside while x= 4
for i= 0
inside for x= 6.0
for i= 1
while i= 1
inside while x= 8
第5行再进while循环后,第9行for,i要从0重新开始
下面这个算法不对:最后沙滩上剩下4个,这是最少情况。
设最后每分1个,多1,那么是6
那么第4次是6×5+1=31
第3次是31×5+1=156
第2次156×5+1=781
第1次781×5+1=3906
最后一个猴子如果面对6个,这6个,是上次5份中的4份,上次应该是:6÷4×5+1,这不是整数,就不行。
这对应着程序的第11行,能被4整除,才能走到第15行,
往上倒推一步。
最后沙滩上剩下4的倍数,如果是4×1,就推不回去,那就再实验4×2
以下方程手书,由数学灵活就业部落成员提供:
if __name__ == '__main__':
i = 0
j = 1
x = 0
while (i < 5) :
print("while i=",i)
x = 4 * j
print("j=",j)
print("inside while x=" ,x)
for i in range(0,5) :
print("for i=",i)
if(x%4 != 0) :
break
else :
i += 1
x = (x/4) * 5 +1
print("inside for x=" ,x)
j += 1
print (x)
n=1000
factors = []
for i in range(1,n+1):
if n%i == 0:
factors.append(i)
print (factors)
必须承认,Python的数据结构,更好懂。
if __name__ == '__main__':
person = {"li":18,"wang":50,"zhang":20,"sun":22}
m = 'li'
for key in person.keys():
if person[m] < person[key]:
m = key
print ('%s先生年龄最大,是%d岁'%(m,person[m]))
if __name__ == '__main__':
s = ["man","woman","girl","boy","sister"]
for i in range(len(s)):
print (s[i])
感觉,Python的数组好用。
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
if __name__ == '__main__':
nmax = 50
n = int(input('请输入总人数:'))
num = []
for i in range(n):
num.append(i + 1)
print(num[2])
i = 0
k = 0
m = 0 #删掉的个数,最后要删掉只剩下一个人
while m < n - 1:
if num[i] != 0 :
print(num[3])
print(k)
k += 1
if k == 3:
num[i] = 0 #出圈
print("i=",i)
print(num)
k = 0
m += 1
print("m=",m)
i += 1
if i == n : i = 0
i = 0
while num[i] == 0: i += 1
print (num[i])
程序分析:
【金山文档】 程序分析 报数 逢三出圈
https://kdocs.cn/l/cljwkej3CAXP
if __name__ == '__main__':
a = []
for i in range(10):
a.append([])
for j in range(10):
a[i].append(0)
for i in range(10):
a[i][0] = 1
a[i][i] = 1
for i in range(2,10):
for j in range(1,i):
a[i][j] = a[i - 1][j-1] + a[i - 1][j]
from sys import stdout
for i in range(10):
for j in range(i + 1):
stdout.write(str(a[i][j]))
stdout.write(' ')
print()
就跟数学老师在黑板上写矩阵一样!
X = [[12,7,3],
[4 ,5,6],
[7 ,8,9]]
Y = [[5,8,1],
[6,7,3],
[4,5,9]]
result = [[0,0,0],
[0,0,0],
[0,0,0]]
# 迭代输出行
for i in range(len(X)):
# 迭代输出列
for j in range(len(X[0])):
result[i][j] = X[i][j] + Y[i][j]
for r in result:
print(r)
[17, 15, 4]
[10, 12, 9]
[11, 13, 18]
Fantastic!