当前位置:   article > 正文

每日练题(py,c,cpp).6_19,6_20

每日练题(py,c,cpp).6_19,6_20

检验素数

  1. from math import sqrt
  2. a = int(input("请输入一个数:"))
  3. for i in range(2,int(sqrt(a))):
  4. if a%i == 0:
  5. print("该数不是素数")
  6. break
  7. else:
  8. print("该数是素数")
  9. # # 1既不是素数也不是合数
  10. # #可以用flag做标志位
  11. # b = int(input("请输入一个数:"))
  12. # Flag = False
  13. # for i in range(2,b):
  14. # if b%i == 0:
  15. # Flag = True
  16. # if Flag:
  17. # print("是合数")
  18. # else:
  19. # print("是素数")
  1. #include <iostream>
  2. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  3. int main(int argc, char** argv) {
  4. int a = 0;
  5. printf("请输入一个大于1的自然数:");
  6. scanf("%d", &a);
  7. int flag = 0;
  8. for (int i = 2; i < a; i++)
  9. {
  10. if (a % i == 0)
  11. {
  12. flag = 1;
  13. break;
  14. }
  15. }
  16. if (flag == 0)
  17. {
  18. printf("输入的数是一个素数");
  19. }
  20. else
  21. {
  22. printf("输入的数不是一个素数");
  23. }
  24. return 0;
  25. }

逐字检查法

自解

  1. 解法1
  2. a = "python"
  3. b = "typhon"
  4. list1 = list(b)
  5. print(list1)
  6. def judge(a,b):
  7. for i in range(len(a)):
  8. for j in range(len(a)):
  9. if a[i] == b[j]:
  10. list1[j] = None
  11. break
  12. for i in range(len(a)):
  13. list1[i] == None
  14. if list1[i] != None:
  15. return False
  16. return True
  17. if judge(a,b) == True:
  18. print("是变位词")
  19. elif judge(a,b) == False:
  20. print("不是变位词")

  1. 解法2
  2. a = "python"
  3. b = "typhon"
  4. def judge(a,b):
  5. list1 = list(a)
  6. list2 = list(b)
  7. j = len(list2)
  8. list1.sort()
  9. list2.sort()
  10. for i in range(len(list1)):
  11. if list1[i] == list2[i]:
  12. pass
  13. else:
  14. return False
  15. return True
  16. if judge(a,b) == True:
  17. print("是变位词")
  18. elif judge(a,b) == False:
  19. print("不是变位词")

计数比较法

 

  1. a = "pythoe"
  2. b = "typhon"
  3. """计数比较-自解"""
  4. dict1 = dict()
  5. dict2 = dict()
  6. list1 = list(a)
  7. list2 = list(b)
  8. for i in range(ord("a"),ord("z")+1):
  9. dict1[i] = 0
  10. for i in range(ord("a"),ord("z")+1):
  11. dict2[i] = 0
  12. def judge(a,b):
  13. for j in range(len(a)):
  14. for i in range(ord("a"),ord("z")+1):
  15. if ord(list1[j]) == i:
  16. dict1[i] = dict1[i] + 1
  17. for j in range(len(a)):
  18. for i in range(ord("a"),ord("z")+1):
  19. if ord(list2[j]) == i:
  20. dict2[i] = dict2[i] + 1
  21. for i in range(ord("a"),ord("z")+1):
  22. if dict1[i] == dict2[i]:
  23. pass
  24. else:
  25. return False
  26. return True
  27. if judge(a,b) == True:
  28. print("是变位词")
  29. elif judge(a,b) == False:
  30. print("不是变位词")
  31. """计数比较-仿他解"""
  32. def judge(a,b):
  33. c1 = [0] * 26
  34. c2 = [0] * 26
  35. for i in range(len(a)):
  36. pos = ord(a[i]) - ord('a')
  37. c1[pos] = c1[pos] + 1
  38. for i in range(len(a)):
  39. pos = ord(b[i]) - ord('a')
  40. c2[pos] = c2[pos] + 1
  41. for i in range(26):
  42. if c1[i] == c2[i]:
  43. pass
  44. else:
  45. return False
  46. return True
  47. if judge(a,b) == True:
  48. print("是变位词")
  49. elif judge(a,b) == False:
  50. print("不是变位词")

 

 他解

 

\

 

 

鹏哥C语言

 

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号