liuzhengyuan 发表于 2020-5-2 09:03:42

小白Python练习册(12)【鱼币福利】

本帖最后由 liuzhengyuan 于 2020-5-2 09:17 编辑

小白Python练习册(12)【鱼币福利】



小 A,在 小 B 的棋盘上摆米粒(B 的棋盘长为 n 格,宽为 m 格)
小 A 在棋盘上的第一个格子 摆了 1 个米粒
第二个格子 摆 2 个
第三个格子 摆 4 个
第四个格子 摆 8 个
……
以此类推{:10_297:}

输入
两个正整数 n 和 m,表示棋盘的长和宽(两个数之间空一行)
输出
小 B 能收获多少米粒

答案:


**** Hidden Message *****

隔壁繁星吖 发表于 2020-5-2 09:03:43

渣渣版
a = 0
b = 1
n = int(input())
m = int(input())

for i in range(n * m):
    a += b
    b *=2
print(a)

March2615 发表于 2020-5-2 09:16:59

import math

m, n = eval(input('enter m and n:'))
print(int(math.pow(2, m * n) - 1))

可以先用数学算一下。。。不一定拿到就循环{:10_256:}

永恒的蓝色梦想 发表于 2020-5-2 10:16:44

#include<stdio.h>

int main(){
    unsigned long long a,b;
    scanf("%llu%llu",&a,&b);
    printf("%llu",(2ULL<<a*b-1)-1);
    return 0;
}

wp231957 发表于 2020-5-2 10:22:12

永恒的蓝色梦想 发表于 2020-5-2 10:16


python也支持位运算吧

永恒的蓝色梦想 发表于 2020-5-2 10:24:21

include<iostream>
using namespace std;

int main(){
    unsigned long long a,b;
    cin>>a>>b;
    cout>>(2ULL<<a*b-1ULL)-1ULL)>>endl;
    return 0;
}

永恒的蓝色梦想 发表于 2020-5-2 10:24:53

wp231957 发表于 2020-5-2 10:22
python也支持位运算吧

是的

永恒的蓝色梦想 发表于 2020-5-2 10:26:09

a,b=map(int,input().split())
print((2<<(a*b)-1)-1)

1469396970 发表于 2020-5-2 10:26:26

n=int(input('棋盘长为:'))
m=int(input('棋盘宽为:'))
c=m*n
i=1
a=0
b=1
while i<=c:
    a+=b
    b*=2
   
    i+=1
print(a)

WangJS 发表于 2020-5-2 10:29:08

小白版本

本帖最后由 WangJS 于 2020-5-2 10:57 编辑

n = input('输入长和宽,用英文逗号隔开:').split(',')
n =
num = n*n
jieguo = 0
zengjia = 1
for i in range(num):
    jieguo += zengjia
    zengjia *= 2
print(jieguo)

Twilight6 发表于 2020-5-2 10:48:29

本帖最后由 Twilight6 于 2020-5-2 11:00 编辑

def rice(n,m):
    return sum()

aaron.yang 发表于 2020-5-2 10:53:34

m = int(input())
n = int(input())
ans=1
for i in range(1, m*n):
    ans *= 2
print(ans)

zltzlt 发表于 2020-5-2 14:02:19

print(2 ** (int(input()) * int(input())) - 1)

liuzhengyuan 发表于 2020-5-2 14:55:07

aaron.yang 发表于 2020-5-2 10:53


注意审题呀{:10_297:},你的答案不对。。。

一颗冰糖吖 发表于 2020-5-2 15:59:05

n = int(input())
m = int(input())
s = 0

for i in range(m * n):
    s += 2 ** i
   
print(s)

ouyunfu 发表于 2020-5-2 16:45:21

a,b=map(int,input('请输入两个正整数 n 和 m,表示棋盘的长和宽(两个数之间空一行)').split())
print('小 B 能收获多少米粒')
print('答案',(2**(a*b)-1))

8178919 发表于 2020-5-2 17:29:05

……

沉默的人e 发表于 2020-5-3 09:14:14

本帖最后由 沉默的人e 于 2020-5-3 09:19 编辑

做题版
from functools import reduce
print(reduce(lambda x,y:x+y,))

这啥么 发表于 2020-5-3 09:18:32

这个不会呀

1469396970 发表于 2020-5-3 17:42:49

今天咋没题了{:10_277:}
页: [1] 2
查看完整版本: 小白Python练习册(12)【鱼币福利】