USACO-Section1.5 Prime Palindromes【暴力枚举】
来源:互联网 发布:毛笔字生成软件 编辑:程序博客网 时间:2024/05/21 09:39
题目描述:
因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。
写一个程序来找出范围[a,b](5 <= a < b <= 100,000,000)( 一亿)间的所有回文质数;(翻译来源:NOCOW)
INPUT FORMAT:
(file pprime.in)
第 1 行: 二个整数 a 和 b .
OUTPUT FORMAT:
(file pprime.out)
输出一个回文质数的列表,一行一个。
SAMPLE INPUT
5 500
SAMPLE OUTPUT
5
7
11
101
131
151
181
191
313
353
373
383
解题思路:
借鉴题目给的思想,枚举回文数再计算(如果用筛法空间占用太大)。偶数回文数能被11整除(注意11符合),下面是代码。
#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>int ans[100010],count=0;int fun(int a){//判断素数 int i; for(i=2;i<=sqrt(a);i++){ if(a%i==0)return 0; } return 1;}int main(){ FILE *fin = fopen ("pprime.in", "r"); FILE *fout = fopen ("pprime.out", "w"); int a,b; fscanf(fin,"%d%d",&a,&b); int i,a1,a2,a3,a4,flag=0,flag1=0;//flag判断是否大于b,flag1判断11是否添加过了 for(a1=0;a1<=9;a1++){//4重循环~ if(flag==1)break; for(a2=0;a2<=9;a2++){ if(flag==1)break; for(a3=0;a3<=9;a3++){ if(flag==1)break; for(a4=0;a4<=9;a4++){ int temp; if(a1){temp=a1*1000000+a2*100000+a3*10000+a4*1000+a3*100+a2*10+a1;} else if(a2){temp=a2*10000+a3*1000+a4*100+a3*10+a2;} else if(a3){ if(b>=11&&flag1==0){//将b添加到ans数组,注意限制条件,只添加一次 if(a<=11) ans[count++]=11; flag1=1; } temp=a3*100+a4*10+a3;} else temp=a4; if(temp>b){//如果大于b就退出循环 flag=1; break; } else if(fun(temp)&&temp>=a)//如果大于a且是素数就添加 ans[count++]=temp; } } } } for(i=0;i<count;i++){ fprintf(fout,"%d\n",ans[i]); } exit(0);}
阅读全文
1 0
- USACO-Section1.5 Prime Palindromes【暴力枚举】
- USACO-Section1.5 Prime Palindromes
- USACO-Section1.5 Prime Palindromes
- USACO-Section1.3 Prime Cryptarithm【暴力枚举】
- USACO-Section1.5 Prime Palindromes[其他]
- USACO-Section1.2 Dual Palindromes【暴力枚举】【查找】
- USACO-section1.5 Prime Palindromes[回文数][素数]
- USACO-Section1.5 Prime Palindromes [回文数][质数]
- USACO-Section1.5 Superprime Rib[其他][暴力枚举]
- USACO-Section1.3 Combination Lock【暴力枚举】
- USACO-Section1.4 Arithmetic Progressions【暴力枚举】
- 【USACO】Prime Palindromes(暴力暴力再暴力)
- USACO 1.3 - Prime Cryptarithm(暴力枚举)
- USACO-Section1.2 Name That Number【暴力枚举】【二分查找】
- USACO-Section1.4 Arithmetic Progressions[其他][暴力枚举]
- USACO-Section1.3 Wormholes 【深度优先搜索】【暴力枚举】
- USACO-Section1.3 Ski Course Design【暴力枚举】
- USACO section1.2 Dual Palindromes
- socket编程---简易的TCP通信
- Java常见帮助类(10)日期帮助类(二)
- Java常见帮助类(11)base64加解密
- HR套招的十大经典面试问题
- 下拉刷新
- USACO-Section1.5 Prime Palindromes【暴力枚举】
- phpStudy环境配置多个站点,绑定域名
- 数据结构:线性表之单链表
- android(drawable文件夹)图片适配
- 【LeetCode】31. Next Permutations 下一个全排列
- R-CNN,Fast-RCNN,Faster_RCNN,YOLO对比
- js——Ajax初体验
- C++实现BitMap数据结构
- string为什么是final的