素数回文(hdu1431)
素数回文
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 9266 Accepted Submission(s): 2167
能整除11的数的条件:数的偶数位和与奇数位和的差可整除11,
即整个数可以整除11.易证偶位回文数整除11.这样就缩小了查找的范围,
而且缩小了90%!!!
所以;除了11是回文素数以外,其他偶数位回文数均可被11整除并且是合数,
然后就枚举1位3位5位7位9位数的数,然后判断是否为素数即可!!!
本人不才只能想到这菜鸟的思路了,不过浅显易懂啊!o(∩_∩)o 哈哈!
ps:http://acm.hdu.edu.cn/showproblem.php?pid=1431
#include<stdio.h>
__int64 a,b; bool judge(__int64 x)//判断素数
{
for(int i=;i*i<=x;i++)
if(x%i==)
return false;
return true;
} void solve()
{
__int64 ans,i,j,k,m,r;
if(a<=) //1位素数和11
{
for(i=a;i<=;i++)
{
if(i>b)
return ;
if(judge(i))
printf("%I64d\n",i);
}
}
if(b>) //3位数时
{
for(i=;i<=;i+=)
for(j=;j<=;j++)
{
ans = i*+j*;
if(ans>=a&&ans<=b&&judge(ans))
printf("%I64d\n",ans);
if(ans>=b)
return;
}
} if(b>) //5位数时
{
for(i=;i<=;i+=)
for(j=;j<=;j++)
for(k=;k<=;k++)
{
ans = i*+j*+k*;
if(ans>=a&&ans<=b&&judge(ans))
printf("%I64d\n",ans);
if(ans>=b)
return;
}
} if(b>) //7位数时
{
for(i=;i<=;i+=)
for(j=;j<=;j++)
for(k=;k<=;k++)
for(m=;m<=;m++)
{
ans = i*+j*+k*+m*;
if(ans>=a&&ans<=b&&judge(ans))
printf("%I64d\n",ans);
if(ans>=b)
return;
}
} if(b>) //9位数时
{
for(i=;i<=;i+=)
for(j=;j<=;j++)
for(k=;k<=;k++)
for(m=;m<=;m++)
for(r=;r<=;r++)
{
ans = i*+j*+k*+m*+r*;
if(ans>=a&&ans<=b&&judge(ans))
printf("%I64d\n",ans);
if(ans>=b)
return;
}
} } int main()
{
while(scanf("%I64d%I64d",&a,&b)!=EOF)
{
if(a>b)
{
a=a^b;
b=a^b;
a=a^b;
}
solve();
printf("\n");
}
return ;
}
吐槽:寒假要在家编程真的是。。。。。无力啊!早上又起不来,,,然后关键是心不静啊!(┬_┬)
素数回文(hdu1431)的更多相关文章
- 素数回文(dfs,有bug)
素数回文 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- 4N - 素数回文
xiaoou33对既是素数又是回文的数特别感兴趣.比如说151既是素数又是个回文.现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数.(5 &l ...
- F题 hdu 1431 素数回文
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1431 素数回文 Time Limit: 2000/1000 MS (Java/Others) M ...
- 题解报告:hdu 1431 素数回文
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1431 Problem Description xiaoou33对既是素数又是回文的数特别感兴趣.比如说 ...
- 12--c完数/最大公约数/最小公倍数/素数/回文数
完数/最大公约数/最小公倍数/素数/回文数 2015-04-08 10:33 296人阅读 评论(0) 收藏 举报 分类: C/C++(60) 哈尔滨工业大学(8) 版权声明:本文为博主原创文章 ...
- hdu 1431 素数回文(暴力打表,埃托色尼筛法)
这题开始想时,感觉给的范围5 <= a < b <= 100,000,000太大,开数组肯定爆内存,而且100000000也不敢循环,不超时你打我,反正我是不敢循环. 这题肯定得打表 ...
- NOI-OJ 1.13 ID:5 素数回文数的个数
整体思路 使用埃拉拖色尼算法提前计算出1000以内的素数表. 设计一个回文判断函数isHW(int n),难点在于数字回文的判断.一个简单的方法是将数字n使用sprintf输出在一个数组中,然后从数组 ...
- HDU 1431 素数回文 离线打表
题目描述:给定一个区间,将这个区间里所有既是素数又是回文数的数输出来. 题目分析:这题的这个数据范围比较大,达到了10^8级别,而且输入的数据有多组,又因为判断一个数是否是回文数貌似只有暴力判断,时间 ...
- HDU 1431 素数回文
有人问我这个问题. 个人感觉暴搜会TLE O(n*sqrt(n)).n=100000000:(推断素数用2~sqrt(n)+1 去除) 还是枚举好了. 枚举 1~10000,把他每一位存下来,回文数已 ...
随机推荐
- Asp.Net 学习笔记(IIS不同版本和Asp.Net)
主要目的是在网上记录一下学习笔记,如有不对,请指出 谢谢!! iis5.x: 存在问题,inet info收到动态请求后,aspnt_isapi.dll会被加载到inetinfo.exe(挂载w3sv ...
- MVC 5使用ViewData(模型)显示数据
看过此篇<MVC 5使用ViewData(对象)显示数据>http://www.cnblogs.com/insus/p/3377178.html 都明白在控制器使用ViewData(obj ...
- JQuery - 阻止回车键
JQuery 和 js 禁止enter回车事件方法 jQuery版 $(window).keydown( function(e) { var key = window.event?e.keyCode: ...
- 【算法python实现】 -- 不同路径
原题:https://leetcode-cn.com/problems/unique-paths/ 问题描述 n行m列的表格,从a[0][0]出发,每次只能右移一步或者下移一步,求到a[n-1][m- ...
- Linux的1000个命令
目录 Linux常用命令 uptime wget uname free who last history pwd cd ls cat head tail tr wc cut diff touch mk ...
- [学习笔记]树套树 线段树套Splay
今天调了一个早上哈哈哈,不过因为\(Splay\),常数比较大 洛谷的评测记录: \(Code\ Below:\) #include <bits/stdc++.h> #define ll ...
- 小技巧——病毒分析中关闭ASLR
原文来自:https://bbs.ichunqiu.com/thread-41359-1-1.html 病毒分析中关闭ASLR 分析病毒的时候,尽可能用自己比较熟悉的平台,这样可以大大地节省时间,像我 ...
- [vuejs] vue2.0-layer-mobile移动端弹层
vue2.0-layer-mobile移动端弹层 本次组件升级支持slot内容分发功能,实现高定制内容风格的弹层 安装方法 npm install vue2-layer-mobile -S 初始化 i ...
- C#6.0语言规范(六) 转换
转换能够被视为是一个特定类型的表达式.转换可能会导致给定类型的表达式被视为具有不同的类型,或者它可能导致没有类型的表达式获取类型.转换可以是隐式或显式的,这决定了是否需要显式转换.例如,从类型int到 ...
- Swift 里 Array (四) Accessing Elements
根据下标取值 关键代码如下: func _getElement( _ index: Int, wasNativeTypeChecked: Bool, matchingSubscriptCheck: _ ...