[关闭]
@chawuciren 2018-10-13T13:41:44.000000Z 字数 844 阅读 582

CS6

未分类

  1. 其实就是上课的代码,作者润智师兄,根据题目做了一点点修改

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<math.h>
  4. unsigned int isprimes(unsigned int n);
  5. unsigned int* Preservation(unsigned int n);
  6. unsigned main()
  7. {
  8. unsigned int n = 0;
  9. unsigned int number = 0;
  10. scanf("%u", &n);
  11. number = isprimes(n);
  12. if (number == 1)
  13. {
  14. printf("这是一个素数\n");
  15. }
  16. else
  17. {
  18. printf("这不是一个素数\n");
  19. }
  20. unsigned int*primes = Preservation(n);
  21. printf("1\n");
  22. for(unsigned int i=0;i<n;i++)
  23. {
  24. if (primes[i] == 0)
  25. break;
  26. printf("%u\n", primes[i]);
  27. }
  28. system("pause");
  29. return 0;
  30. }
  31. unsigned int isprimes(unsigned int n)
  32. {
  33. unsigned int result = 1;
  34. unsigned int t = (unsigned int)sqrt(n) + 1;
  35. for (unsigned int i = 2; i < t; i++)
  36. {
  37. result = n % i;
  38. if (result == 0)
  39. return 0;
  40. }
  41. return 1;
  42. }
  43. unsigned int* Preservation(unsigned int n)
  44. {
  45. unsigned int *Pnumber = (unsigned int*)malloc(n * sizeof(unsigned int));
  46. unsigned int i = 0;
  47. unsigned int t = 2;
  48. while (t <= n)
  49. {
  50. unsigned int temp = isprimes(t);
  51. if (temp == 1)
  52. {
  53. Pnumber[i] = t;
  54. i = i + 1;
  55. }
  56. t = t + 1;
  57. }
  58. return Pnumber;

在此输入正文

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注