hdoj-2098-分拆素数和
2016-03-10 18:27
302 查看
题目:分拆素数和
一道想办法省时间的题目。
代码:
此题两个注意点:
1.分解成两个不同的素数,比如26=13+13这个答案就是错误的
2.想办法降低复杂度,如果用两个for循环肯定是TLE。
这里用
一道想办法省时间的题目。
代码:
#include<stdio.h> #include<math.h> int inv(int n) { int i,t=1; for(i=2;i<=sqrt(n);i++) { if(n%i==0) { t=0; break; } } return t; } int main() { int n,i=3,j,k,t=0,sum=0; while(scanf("%d",&n)!=EOF) { if(n==0)break; for(i=3;i<n/2;i=i+2)//different { if(inv(i)==1 && inv(n-i)==1)sum++; } printf("%d\n",sum); sum=0; } return 0; }
此题两个注意点:
1.分解成两个不同的素数,比如26=13+13这个答案就是错误的
2.想办法降低复杂度,如果用两个for循环肯定是TLE。
这里用
if(inv(i)==1 && inv(n-i)==1)直接来判断两个相加为n的数是否为素数即可。
相关文章推荐
- 实现UniqueAttribute唯一性约束,sqlunique约束[转]
- Linux 搭建 Objective-C开发环境
- PyQt5 - QWidgets部件进阶教程之日历窗口部件
- 股市和庞氏骗局的类同之处
- 搭建Hadoop环境(二)
- ACM 阶乘的精确值
- 第2周项目4—用循环求(1)
- leetcode263. [Math]Ugly Number
- ajax 返回xml的实例讲解
- 软件工程个人作业01
- Java运算符
- HDU 2.2.1 Fibonacci
- BOM、DOM学习笔记——JavaScript
- CSS伪类
- 如何让处于文档流中间的tab标签页滚动到顶部时固定
- LEETCODE 160
- 分页查询的两种方法(双top 双order 和 row_number() over ())
- 城里人的高端玩法(对股票及金融创新的本质的经典讲解)
- 《IT小小鸟》读后感
- 摇奖机-多线程