Python重写C语言程序100例--Part10

来源:互联网 发布:大数据ppt素材 编辑:程序博客网 时间:2024/05/22 06:53
[python] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. ''''' 
  2. 【程序81】 
  3. 题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。 
  4. 1.程序分析: 
  5. 2.程序源代码 
  6. 这个程序实在是奇怪 
  7. 0 = 1 :( 
  8. 就写个程序而已,不去追究了 
  9. '''  
  10. a = 809  
  11. for i in range(10,100):  
  12.     b = i * a + 1  
  13.     if b >= 1000 and b <= 10000 and 8 * i < 100 and 9 * i >= 100:  
  14.         print b,'/',i,' = 809 * ',i,' + ', b % i  
  15.           

[python] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. ''''' 
  2. 【程序82】 
  3. 题目:八进制转换为十进制 
  4. 1.程序分析:            
  5. 2.程序源代码: 
  6. '''  
  7. if __name__ == '__main__':  
  8.     n = 0  
  9.     p = raw_input('input a octal number:\n')  
  10.     for i in range(len(p)):  
  11.         n = n * 8 + ord(p[i]) - ord('0')  
  12.     print n  

 

[python] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. ''''' 
  2. 【程序83】 
  3. 题目:求0—7所能组成的奇数个数。 
  4. 1.程序分析: 
  5. 2.程序源代码: 
  6. '''  
  7. if __name__ == '__main__':  
  8.     sum = 4  
  9.     s = 4  
  10.     for j in range(2,9):  
  11.         print sum  
  12.         if j <= 2:  
  13.             s *= 7  
  14.         else:  
  15.             s *= 8  
  16.         sum += s  
  17.     print 'sum = %d' % sum  


 

[python] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. ''''' 
  2. 【程序84】 
  3. 题目:一个偶数总能表示为两个素数之和。 
  4. 1.程序分析: 
  5. 2.程序源代码: 
  6. 此代码有问题,待修改 
  7. '''  
  8. import math  
  9. if __name__ == '__main__':  
  10.     a = int(raw_input('input an odd number:\n'))  
  11.     d = 0  
  12.     c = 2  
  13.     for b in range(3,a / 2 + 1,2):  
  14.         m = 0  
  15.         for c in range(2,int(math.sqrt(b)) + 1):  
  16.             if b % c == 0 :  
  17.                 m = c  
  18.                 break  
  19.           
  20.         if m > math.sqrt(b):  
  21.             d = a - b  
  22.         else:  
  23.             break  
  24.   
  25.         for c in range(2,int(math.sqrt(d)) + 1):  
  26.             if d % c == 0:  
  27.                 m = c  
  28.                 break  
  29.         if m > math.sqrt(d):  
  30.             print '%d = %d + %d' % (a,b,d)  
  31.                   


 

[python] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. ''''' 
  2. 【程序85】 
  3. 题目:判断一个素数能被几个9整除 
  4. 1.程序分析: 
  5. 2.程序源代码: 
  6. '''  
  7. if __name__ == '__main__':  
  8.     zi = int(raw_input('input a number:\n'))  
  9.     n1 = 1  
  10.     c9 = 1  
  11.     m9 = 9  
  12.     sum = 9  
  13.     while n1 != 0:  
  14.         if sum % zi == 0:  
  15.             n1 = 0  
  16.         else:  
  17.             m9 *= 10  
  18.             sum += m9  
  19.             c9 += 1  
  20.     print '%d can be divided by %d 9' % (sum,c9)  


 

[python] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. ''''' 
  2. 【程序86】 
  3. 题目:两个字符串连接程序 
  4. 1.程序分析: 
  5. 2.程序源代码: 
  6. '''  
  7. if __name__ == '__main__':  
  8.     a = "acegikm"  
  9.     b = "bdfhjlnpq"  
  10.   
  11.     # 连接字符串  
  12.     c = a + b  
  13.     print c  


 

[python] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. ''''' 
  2. 【程序87】 
  3. 题目:回答结果(结构体变量传递) 
  4. 1.程序分析:      
  5. 2.程序源代码: 
  6. '''  
  7. if __name__ == '__main__':  
  8.     class student:  
  9.         x = 0  
  10.         c = 0  
  11.     def f(stu):  
  12.         stu.x = 20  
  13.         stu.c = 'c'  
  14.     a= student()  
  15.     a.x = 3  
  16.     a.c = 'a'  
  17.     f(a)  
  18.     print a.x,a.c  


 

[python] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. ''''' 
  2. 【程序88】 
  3. 题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。 
  4. 1.程序分析: 
  5. 2.程序源代码: 
  6. '''  
  7. if __name__ == '__main__':  
  8.     n = 1  
  9.     while n <= 7:  
  10.         a = int(raw_input('input a number:\n'))  
  11.         while a < 1 or a > 50:  
  12.             a = int(raw_input('input a number:\n'))  
  13.         print a * '*'  
  14.         n += 1  


 

[python] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. ''''' 
  2. 【程序89】 
  3. 题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下: 
  4.    每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。 
  5. 1.程序分析: 
  6. 2.程序源代码: 
  7. '''  
  8. from sys import stdout  
  9. if __name__ == '__main__':  
  10.     a = int(raw_input('input a number:\n'))  
  11.     aa = []  
  12.     aa.append(a % 10)  
  13.     aa.append(a % 100 / 10)  
  14.     aa.append(a % 1000 / 100)  
  15.     aa.append(a / 1000)  
  16.   
  17.     for i in range(4):  
  18.         aa[i] += 5  
  19.         aa[i] %= 10  
  20.     for i in range(2):  
  21.         aa[i],aa[3 - i] = aa[3 - i],aa[i]  
  22.     for i in range(3,-1,-1):  
  23.         stdout.write(aa[i])  


 

[python] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. ''''' 
  2. 【程序90】 
  3. 题目:专升本一题,读结果。 
  4. 1.程序分析: 
  5. 2.程序源代码: 
  6. '''  
  7. if __name__ == '__main__':  
  8.     M = 5  
  9.     a = [1,2,3,4,5]  
  10.     i = 0  
  11.     j = M - 1  
  12.     while i < M:  
  13.         a[i],a[j] = a[j],a[i]  
  14.         print a  
  15.         i += 1  
  16.         j -= 1  
  17.     for i in range(5):  
  18.         print a[i] 
0 0