【无标题】

#打印杨辉三角形

按照输出格式打印杨辉三角形

输入格式:

输入一个小于30的正整数N。

输出格式:

输出杨辉三角的前N行,输出时,每个数字之后加一个空格。

输入样例:

5

输出样例:

1 
1 1 
1 2 1 
1 3 3 1 

参考答案

def tri(m,n):
    if n==1 or m==n:
        return 1;
    else:
        return tri(m-1,n)+tri(m-1,n-1);
a=int(input())
for i in range(1,a+1):
    for j in range(1,i+1):
        print(tri(i,j),end="  ");
    print();


#回文判断

回文指正反读均相同的字符序列,例如“abba”和”abdba”均是回文,但“good”不是回文,判定给定字符串是否是回文。

输入格式:

输入一个字符串

输出格式:

如果是回文,输出“回文”;否则输出“不是回文”

输入样例:

aabcba
不是回文

答案

a=input();
if a==a[::-1]:
    print("回文数");
else:
    print("不是回文数");

#汉诺塔问题

定义一个函数,用递归的方式模拟汉诺塔问题,三个柱子,分别为A、B、C,其中A柱子上有N个盘子,从小到大编号为1到N,盘子大小不同。现在要将这N个盘子从A柱子移动到C柱子上,但移动的过程必须遵循以下规则:

1.每次只能移动一个盘子;

2.盘子只能放在空柱子或者比自己大的盘子上面;

3.每次只能移动最上面的盘子。

输入格式

3

输出格式

step 1:Move Move disk from A to C
step 2:Move Move disk from A to B
step 3:Move Move disk from C to B
step 4:Move Move disk from A to C
step 5:Move Move disk from B to A
step 6:Move Move disk from B to C
step 7:Move Move disk from A to C

参考答案

count=0;
def hanoi(n,x,y,z):
    global count;
    if n==1:
        count+=1;
        move(count,x,z);
    else:
        hanoi(n-1,x,z,y);
        count+=1;
        move(count,x,z);
        hanoi(n-1,y,x,z);

def move(n,x,y):
    print("step %d:Move Move disk from %c to %c"%(count,x,y));

m=int(input());
hanoi(m,"A","B","C");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值