题解 | #杨辉三角的变形#

杨辉三角的变形

https://www.nowcoder.com/practice/8ef655edf42d4e08b44be4d777edbf43

a = int(input())
sum = 0
if a <=2:
    print(-1)
else:
    if (a-1) % 2 == 0:
        print(2)
    else:
        if (a/2) % 2 == 0:
            print(3)
        else:
            print(4)

每一行:
第一个数是1
第二个数是行数a-1
第三个数是从1加到a-1,通过判断从1到a-1这个数列中间值是否为奇数,可判断第三个数
因为奇数加奇数为偶数,所以若第三个数是奇数时,判断上一行的2,3,4个数奇偶性:
行数a-1是奇数,则a-2为偶数
从1到a-2的数列和可从成对数量判断,即(a-2)/2,这个数为偶数
再上一行,1为奇数,a-3为奇数,判断第三个数,即从1到a-3的数列中间值,这个值应为偶数,因1到a-1的中间值是奇数,奇数-1为偶数
故可得第四个数是偶数+偶数+偶数,所以第四个值为偶数

全部评论

相关推荐

投递字节跳动等公司10个岗位
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务