题目链接:http://acm.swust.edu.cn/problem/610/

Time limit(ms): 1000      Memory limit(kb): 65535
 
Description
马上就是新年了,在这里提前祝大家新年快乐,首先送大家一个吉祥数——1898。相信意思大家都明白吧,接着就请大家根据下面的提示来找出一些和我们这个吉祥数相关的一些数吧。 
请将不大于2008的所有素数从小到大排成第一行,第二行上的每个数都等于它头上的素数与它右肩上的素数之差。编程求出:第二行数中是否存在这样的若干个连续的整数,它们的和恰好是1898?假好存在的话,又有几种这样的情况?例如: 
第一行:2 3 5 7 11 13 17......1979 1987 1993 
第二行:1 2 2 4 2 4...... 8 6

 
Input
没有输入

 
Output
输出有多个结果,输出所有满足条件的结果,要求只输出每个结果对应第1行数的起始数和终止数,两个数间空两格,每个结果间换行,所有的结果按起始数从大到小的顺序输出,具体见Sample

 
 
Sample Input
无输入
Sample Output
101 1999
89 1987
……
……
……
 
解题思路:(1)假设第一行中的素数为n[1]、n[2]、n[3]....n、...第二行中的差值为m[1]、m[2]、m[3]...m[j]...。其中m[j]为:m[j]=n[j+1]-n[j]。
     (2)则第二行连续N个数的和为:
        SUM=m[1]+m[2]+m[3]+...+m[j]
            =(n[2]-n[1])+(n[3]-n[2])+(n[4]-n[3])+...+(n[j+1]-n[j])
            =n[j+1]-n[1]
  由此题目就变成了:在不超过2008的所有素数中是否存在这样两个素数,它们的差恰好是1898。若存在,则第二行中必有所需整数序列,其和恰为1898,。
    对等价问题的求解是比较简单的。
    由分析可知,在素数序列中不必包含2,因为任意素数与2的差一定为奇数,所以不必考虑。(同样素数由素数表打表得到)
 
代码如下:
 
 #include <iostream>
#include <cstring>
using namespace std;
int ptr[], prime[] = { , , };
void init(){
int i, j;
memset(prime, , sizeof(prime));
for (i = ; i <= ; i++){
if (prime[i]){
for (j = ; i*j <= ; j++)
prime[i*j] = ;
}
}
}
int main(){
int i, j;
init();
for (j = , i = ; i <= ; i += )
if (prime[i])
ptr[j++] = i;
for (j--; ptr[j] > ; j--){
for (i = ; ptr[j] - ptr[i] > ; i++);
if (ptr[j] - ptr[i] == )
cout << ptr[i] << " " << ptr[j] << endl;
}
return ;
}

[Swust OJ 610]--吉祥数的更多相关文章

  1. [Swust OJ 137]--波浪数(hash+波浪数构造)

    题目链接:http://acm.swust.edu.cn/problem/137/ Time limit(ms): 1000 Memory limit(kb): 65535   Description ...

  2. [Swust OJ 404]--最小代价树(动态规划)

    题目链接:http://acm.swust.edu.cn/problem/code/745255/ Time limit(ms): 1000 Memory limit(kb): 65535   Des ...

  3. SWUST OJ NBA Finals(0649)

    NBA Finals(0649) Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 404 Accepted: 128   Descri ...

  4. [Swust OJ 649]--NBA Finals(dp,后台略(hen)坑)

    题目链接:http://acm.swust.edu.cn/problem/649/ Time limit(ms): 1000 Memory limit(kb): 65535 Consider two ...

  5. 【t090】吉祥数

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 为了迎接圣诞,信息学兴趣小组的同学在辅导老师的带领下,举办了一个盛大的晚会,晚会的第一项内容是做游戏: ...

  6. [Swust OJ 797]--Palindromic Squares(回文数水题)

    题目链接:http://acm.swust.edu.cn/problem/797/ Time limit(ms): 1000 Memory limit(kb): 10000   Description ...

  7. [Swust OJ 566]--开N方数(牛顿切线法解高次方程)

    题目链接:http://acm.swust.edu.cn/problem/0566/ Time limit(ms): 1000 Memory limit(kb): 65535   Descriptio ...

  8. [Swust OJ 403]--集合删数

    题目链接:http://acm.swust.edu.cn/problem/403/ Time limit(ms): 5000 Memory limit(kb): 65535   Description ...

  9. 数细胞-swust oj

    数细胞(0964) 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数.编程需要用到的队列及其相关函数已经实现,你只需要完 ...

随机推荐

  1. Spring 之 控制反转(IoC), 依赖注入(DI)和面向切面(AOP)

    关于依赖注入, 这篇博文写的非常简单易懂. https://github.com/android-cn/blog/tree/master/java/dependency-injection 此外, 博 ...

  2. Zencart先生成订单后付款,类似淘宝后台修改订单价格

    Zencart 使用 Paypal 付款,会出现漏单的情况,即 paypal 已经收到客户的付款,但是网站后台没有客户的订单.导致 paypal 漏单的原因大致会是当客户跳转到Paypal 网站付款完 ...

  3. 嵌入式C开发人员的最好的0x10道笔试题

    嵌入式C开发人员的最好的0x10道笔试题 2006-11-22 15:53 约定: 1) 下面的测试题中,认为所有必须的头文件都已经正确的包含了 2)数据类型 char 一个字节 1 byte int ...

  4. Protel99se轻松入门:特殊技巧和高级设置(一)

    这里简单介绍一下自动布线和手动布线方面的设置问题 1.如何进入PCB的这个布线规则选项: 2.电气安全距离的设置 3.导线宽度的设置 4.学会了设置图层就可以做单面板以及多层板,而不只是双面板 5.布 ...

  5. 一键搜索之Win10锁屏壁纸

    前天无意发现win10的锁屏壁纸挺漂亮的,就想着能不能保存下来?网上一搜果然有资料,当时参考的连接如下 http://jingyan.baidu.com/article/fedf07375ea2513 ...

  6. zookeeper集群搭建设置

    zookeeper 官网:http://zookeeper.apache.org/ 现在最新版本是 3.4.6 ,但是这个版本我没有运行起来,可能是那配置出现问题了,现在我用的是3.4.5 http: ...

  7. Tree(未解决。。。)

    Tree Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submi ...

  8. Java_java多线程下载-断点下载-超详细

    基本原理:利用URLConnection获取要下载文件的长度.头部等相关信息,并设置响应的头部信息.并且通过URLConnection获取输入流,将文件分成指定的块,每一块单独开辟一个线程完成数据的读 ...

  9. 2014 android毕设代做 代做Android毕设 安卓毕设

    近期略有闲暇. 看到部分老友帮忙做毕业设计. 一来能够锻炼下小技能,二来能够得点零花小钱. 心遂小动.跃跃欲试. 毕设这件事情,个人觉得还是自己做的好. 只是每一个人都有各种各样的原因不能自己完毕. ...

  10. OFbiz--HelloWorld

    上篇博客<OFbiz--简单介绍>我们介绍了OFbiz是什么,以下我们就開始用OFbiz开发我们的第一个程序--HelloWorld. 过程例如以下: 首先在hot-deploy下新建文件 ...