[关闭]
@Metralix 2016-12-07T02:43:11.000000Z 字数 483 阅读 683

A Design Tutorial: Learn from Math

c语言 水题


题目大意:

    给定一个n(12<=n<=10^6),求出符合以下要求的x和y:
    1.x+y=n
    2.x和y都是合数

解题思路:

    合数是指自然数中除了能被1和本身整除外,还能被其他数(0除外)整除的数,所以我设计了一个函数,里面通过循环来判断该数是否有1以为的因子。主函数中也使用暴搜,把这个数照出来。由于只要写一组数据就可以,所以虽然时间复杂度高,但是不会T。
    时间复杂度O(n^2)。

AC代码:

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int su(int a)
  4. {
  5. int j;
  6. int ju=1;
  7. if(a==1) return 0;
  8. else
  9. {
  10. for(j=2;j<a;j++)
  11. {
  12. if(a%j==0)
  13. {
  14. return 1;
  15. ju=0;
  16. break;
  17. }
  18. }
  19. if(ju) return 0;
  20. }
  21. }
  22. int main()
  23. {
  24. int n,i;
  25. scanf("%d",&n);
  26. for(i=1;i<n;i++)
  27. {
  28. if(su(i)==1&&su(n-i)==1)
  29. {
  30. printf("%d %d",i,n-i);
  31. break;
  32. }
  33. }
  34. return 0;
  35. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注