C语言经典100例(Python版本)081-085


               
               
                '''
【程序81】
题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
1.程序分析:
2.程序源代码
这个程序实在是奇怪
0 = 1 :(
就写个程序而已,不去追究了
'''
a = 809
for i in range(10,100):
    b = i * a + 1
    if b >= 1000 and b = 10000 and 8 * i  100 and 9 * i >= 100:
        print b,'/',i,' = 809 * ',i,' + ', b % i
        
'''
【程序82】
题目:八进制转换为十进制
1.程序分析:           
2.程序源代码:
'''
if __name__ == '__main__':
    n = 0
    p = raw_input('input a octal number:\n')
    for i in range(len(p)):
        n = n * 8 + ord(p) - ord('0')
    print n
'''
【程序83】
题目:求0—7所能组成的奇数个数。
1.程序分析:
2.程序源代码:
'''
if __name__ == '__main__':
    sum = 4
    s = 4
    for j in range(2,9):
        print sum
        if j = 2:
            s *= 7
        else:
            s *= 8
        sum += s
    print 'sum = %d' % sum
'''
【程序84】
题目:一个偶数总能表示为两个素数之和。
1.程序分析:
2.程序源代码:
此代码有问题,待修改
'''
import math
if __name__ == '__main__':
    a = int(raw_input('input an odd number:\n'))
    d = 0
    c = 2
    for b in range(3,a / 2 + 1,2):
        m = 0
        for c in range(2,int(math.sqrt(b)) + 1):
            if b % c == 0 :
                m = c
                break
        
        if m > math.sqrt(b):
            d = a - b
        else:
            break
        for c in range(2,int(math.sqrt(d)) + 1):
            if d % c == 0:
                m = c
                break
        if m > math.sqrt(d):
            print '%d = %d + %d' % (a,b,d)
               
'''
【程序85】
题目:判断一个素数能被几个9整除
1.程序分析:
2.程序源代码:
'''
if __name__ == '__main__':
    zi = int(raw_input('input a number:\n'))
    n1 = 1
    c9 = 1
    m9 = 9
    sum = 9
    while n1 != 0:
        if sum % zi == 0:
            n1 = 0
        else:
            m9 *= 10
            sum += m9
            c9 += 1
    print '%d can be divided by %d 9' % (sum,c9)