HOJ 1004 回文素数
来源:互联网 发布:服务器坏了 raid 数据 编辑:程序博客网 时间:2024/06/08 18:35
C - C
Submit
Problem Description
The number 151 is a prime palindrome because it is both a prime number and a palindrome (it is the same number when read forward as backward). Write a program that finds all prime palindromes in the range of two supplied numbers a and b (5 <= a < b <= 1000,000,000); both a and b are considered to be within the range .
Input
Line 1: Two integers, a and b
Output
The list of palindromic primes in numerical order, one per line.
Sample Input
5 500
Sample Output
5711101131151181191313353373383
就是在一定数的范围内判断打印出回文素数。
但是此题思路是先构造回文数,再判断是否为素数。Is_prime是判断,get_pain是构造。
#include <stdio.h>#include <stdlib.h>int is_prime(int n){ int i; if (n == 2) return 1; if (n % 2 == 0) return 0; for(i = 3; i * i <= n; i+=2) // i += 2跳跃遍历,节省时间(因为n此时已经不是偶数,看n能否被3,5,7,整除) { if(n % i == 0) return 0; } return 1;}int get_pain(int cur){ int tmp = cur; cur /= 10; do{ tmp = tmp * 10 + cur % 10;//现有数*10,再从后往前添加位数 cur /= 10; }while(cur); return tmp;}int arr[60000];int n;int main(){ int a,b,i; n = 0; arr[n++] = 2,arr[n++] = 3,arr[n++] = 5, arr[n++] = 7,arr[n++] = 11; for(i = 10;i <= 100000; i++) { int tmp = get_pain(i); if(is_prime(tmp)) { arr[n++] = tmp; } } while(scanf("%d%d",&a,&b)!=EOF) { for(i = 0;i <= n;i++) { if(arr[i] >= a && arr[i] <= b) printf("%d\n",arr[i]); } } return 0;}
阅读全文
0 0
- HOJ 1004 回文素数
- 素数回文
- 回文素数
- 回文素数
- 回文素数
- 回文素数
- 回文素数
- 【素数回文】
- 回文素数
- 素数回文
- 回文素数
- 回文素数
- 回文素数
- 回文素数
- 回文素数
- 回文素数
- 回文素数
- 回文素数
- LeetCode#515 Find Largest Value in Each Tree Row (week15)
- 拉格朗日乘子法、KKT条件、拉格朗日对偶性
- HTTP错误汇总(404、302、200……)今天web报302错误,刷新后再试没问题,找度娘问问,顺便记点东西
- JDBC实战(慕课)
- C++静态库与动态库
- HOJ 1004 回文素数
- Training Set
- android多渠道,多环境打包
- 傻杯1.0
- java中的jdbc
- java中的内存泄漏
- HDU-6249-Alice’s Stamps
- RevitAPI之创建文字和注释【比目鱼原创】
- hdu 5510 KMP+暴力