______________从时间超限到800ms 到200ms——————2098
分拆素数和
Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others)
Total Submission(s): Accepted Submission(s): Problem Description
把一个偶数拆成两个不同素数的和,有几种拆法呢? Input
输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。 Output
对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。 Sample Input Sample Output Source
2007省赛集训队练习赛()
题是水题.....但是 就是写不成.总是超时..还是一些技巧不知道 下面附上原始的800ms
/*
和最初写的程序比较起来....这个 比较容易看懂
上一个自己就把自己写晕了
*/
#include<stdio.h>
int prime(int x);
int main()
{
int n,i,j,m,a,b,c;
while(scanf("%d",&n),n)
{
int jishu=;
for(i=;i<n/;i++)
{
j=n-i;
if(prime(i)==&&prime(j)==)
{
jishu++;
}
}
printf("%d\n",jishu);
}
}
int prime(int a)
{
int i,t=;
for(i=;i<=a/;i++)//将输入进来的数字 开始检查.
{
if(a%i==) //在这里没有 加括号...
{
t=;
break; // 跳出去
}
}
return t; }
下面带上 200ms 直接缩小4倍时间的 代码并且 给出 改动的地方
/*
和最初写的程序比较起来....这个 比较容易看懂
上一个自己就把自己写晕了
*/
#include<stdio.h>
#include<math.h>
int prime(int x);
int main()
{
int n,i,j,m,a,b,c;
while(scanf("%d",&n),n)
{
int jishu=;
for(i=;i<n/;i++)
{
j=n-i;
if(prime(i)==&&prime(j)==)
{
jishu++;
}
}
printf("%d\n",jishu);
}
}
int prime(int a)
{
int i,t=;
for(i=;i<=sqar(a);i++)// 唯一改动的地方 (求是不是素数的时候开平方 这样 能减少 很多运算....时间就是乳沟一样 这里挤挤那里挤挤就有了....)
{
if(a%i==) //在这里没有 加括号...
{
t=;
break; // 跳出去
}
}
return t; }
______________从时间超限到800ms 到200ms——————2098的更多相关文章
- POJ-2236 Wireless Network 顺便讨论时间超限问题
Wireless Network Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 26131 Accepted: 108 ...
- 记一次SQL性能优化,查询时间从4000ms优化到200ms.
以下这句SQL是从PLM中获取代办工作流的.没优化前SQL语句执行一次大概4000ms(4秒). select ch.change_number changeNumber, f.text change ...
- 时间超限问题处理(c++)
c++中 如果时间超上限 做题上: 考虑关于二进制的方法 比如说 find your present (2) 这道题 可以用异或运算 来发现不重复数 对于动态规划 状态压缩发面 方面应用更多 比如说p ...
- Kafka解惑之时间轮 (TimingWheel)
Kafka中存在大量的延迟操作,比如延迟生产.延迟拉取以及延迟删除等.Kafka并没有使用JDK自带的Timer或者DelayQueue来实现延迟的功能,而是基于时间轮自定义了一个用于实现延迟功能的定 ...
- Rescue(BFS时间最短 另开数组或优先队列)
Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M ...
- [leetcode] 5.Longest Palindromic Substring-1
开始觉得挺简单的 写完发现这个时间超限了: class Solution: def longestPalindrome(self, s: str) -> str: # longest palin ...
- Elasticsearch一些使用笔记(持续更新)
这篇博客记录这一些运维ES的一些经验. 1.节点磁盘使用率过高,导致ES集群shard无法分配,丢失数据? 有两个配置,分配副本的时候 参数名称 默认值 含义 cluster.routing.allo ...
- 慢SQL优化:where id in (select max(id)...) 改为join后性能提升400倍
背景 有两张表,都是主键递增,类似于主表和明细表: statistics_apply:统计申请表,主键applyId,7万多条记录 statistics_apply_progress:统计申请进度表( ...
- Android 防止控件被重复点击
转载: 工具类: public class Utils { private static long lastClickTime; public static boolean isFastDoubleC ...
随机推荐
- linux修改PS1,自定义命令提示符样式
目录 参数说明 修改颜色 linux默认的命令提示符是这样的: 白色的,如果当前执行的命令很多的话,一整块屏幕上全是一堆输出信息,上一条命令在哪?我刚输入的命令在哪?找的头晕.有没有办法可以修改命令提 ...
- Spring中基于AOP的@AspectJ
以下内容引用自http://wiki.jikexueyuan.com/project/spring/aop-with-spring-framenwork/aspectj-based-aop-with- ...
- html5摇一摇代码优化
首先对DeviceMotionEvent进行优化: 去除没用的代码,又一次封装DeviceMotionEven if(window.DeviceMotionEvent) { var speed = 2 ...
- Windows和linux双系统——改动默认启动顺序
电脑上装了Windows 7和Ubantu双系统,因为Linux系统用的次数比較少而且还是默认的启动项对此非常不能容忍,因此得改动Windows为默认的启动项. 因为电脑上的系统引导程序是GRUB,因 ...
- ganglia监控自己定义metric实践
Ganglia监控系统是UC Berkeley开源的一个项目,设计初衷就是要做好分布式集群的监控.监控层面包含资源层面和业务层面,资源层面包含cpu.memory.disk.IO.网络负载等,至于业务 ...
- Android 使用图片异步载入框架Universal Image Loader的问题
使用的Jar包 问题: optionsm = new DisplayImageOptions.Builder() .displayer(new RoundedBitmap ...
- 《Java设计模式》之訪问者模式
訪问者模式是对象的行为模式.訪问者模式的目的是封装一些施加于某种数据结构元素之上的操作.一旦这些操作须要改动的话,接受这个操作的数据结构则能够保持不变. 分派的概念 变量被声明时的类型叫做变量的静态类 ...
- my-small.cnf my-medium.cnf my-large.cnf my-huge.cnf
my-small.cnf my-medium.cnf my-large.cnf my-huge.cnf 是 MySQL 默认的几个配置文件.针对不同配置的服务器可以使用不同的配置文件,将你需要的那一个 ...
- Python代码分析工具
Python代码分析工具:PyChecker.Pylint - CSDN博客 https://blog.csdn.net/permike/article/details/51026156
- python3 安装 #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz Modules/Setup.dist https://askubuntu ...