• 习题 来自百度贴吧


    http://tieba.baidu.com/p/3407986942
    

      

    解答如下:

    第一题:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # 日本数学家谷角静夫在研究自然数时发现了一个奇怪现象:对于任意一个自然数 n,
    # 若 n 为偶数,则将其除以 2;若 n 为奇数,则将其乘以 3,然后再加 1。如此经过有限次
    # 运算后,总可以得到自然数 1。人们把谷角静夫的这一发现叫做“谷角猜想”。请你编写一
    # 个程序,由键盘输入一个自然数 n,把 n 经过有限次运算后,最终变成自然数 1 的全过程
    # 打印出来。
    
    def Conjecture(n):
        c = 0
        while n != 1:
            c += 1
            if n % 2 == 0:
                n = int(n/2)
                print "此时N为偶数,第%d次变换结果是%d" % (c,n)
            else:
                n = n * 3 + 1
                print "此时N为奇数,第%d次变换结果是%d" % (c,n)
        return c
    
    n = int(input("请输入任意自然数N:	"))
    print "此时其谷角猜想的变换过程如下:"
    k = Conjecture(n)
    print "该数共经过%d的变换,得到自然数1" %(k)

    第二题:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # 从报纸中抽出一张,对折,再对折,继续对折。可以把它折叠 30 次吗?假设可以(你
    # 可能无法把它折叠 8 次以上)折叠 30 次,请问厚度是多少?假设纸的厚度是 1/200 厘米。
    # 编程程序来解决这个难题。提示用户输入折叠次数,输后最终的厚度,以米为单位。
    #获取单个纸张的厚度
    
    def double_p(n):
        paper_th = float(1.0 / 200 / 100)
        for i in xrange(n):
            paper_th  *= 2
        return paper_th
    print double_p(30)

    第三题:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    #A(n,m) = n! / (n-m)!
    def Factorial(n):
        k = 1
        if n == 0:
            return 1
        else:
            for i in xrange(1,n+1):
                k *= i
        return k
    result = (Factorial(10) / Factorial(8)) * (Factorial(8) / Factorial(7)) * (Factorial(7) / Factorial(6))
    print "不同的算法有%d" % (result)

    第四题:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    def js(salary,sst):
        tax_free = 3500
        pay_rate = salary - 3500 - sst
        if pay_rate <= 1500:
            rate = 0
        elif 1500 < pay_rate <= 4500:
            rate = pay_rate * 0.1
        elif 4500 < pay_rate <= 9000:
            rate = pay_rate * 0.2
        elif 9000 < pay_rate <= 35000:
            rate = pay_rate * 0.25
        elif 35000 < pay_rate <= 55000:
            rate = pay_rate * 0.30
        elif 55000 < pay_rate <= 80000:
            rate = pay_rate * 0.35
        elif pay_rate > 80000:
            rate = pay_rate * 0.45
        return rate
    salary = float(raw_input("Input your salary:	"))
    sst = float(raw_input("Input your 保险费用:	"))
    rate = js(salary,sst)
    print "应交税%f" %(rate)
  • 相关阅读:
    JS保留小数点(四舍五入、四舍六入)实例
    HTML5 本地存储 localStorage、sessionStorage 的遍历、存储大小限制处理
    TCP/IP 网络编程(五)
    【IOS】mac终端运行.sh文件总是提示permission denied
    一扫天下——ZXing使用全解析
    《学习bash》笔记--进程处理
    VB断点调试
    poj 2506 Tiling(java解法)
    策略模式实战之优惠方式
    HTML 5 音频Audio
  • 原文地址:https://www.cnblogs.com/sageskr/p/4096082.html
Copyright © 2020-2023  润新知