回文素数

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char * argv[]){
	int  m[16], n, i, t, count = 0;
	long unsigned a, k;
	for(n=1; n<256; n++)
	{
		k=0;
		t=1;
		a=n*n;
		for(i=0; a!=0; i++)
		{
			m[i] = a%10;
			a /= 10;
		}
		for(; i>0; i--)
		{
			k+=m[i-1]*t;
			t*=10;
		}
		if(k==a)
			printf("%d\n", n);
	}
}

/*
#define maxn 105
int a[maxn];

int main(int argc, char *argv[]) {
	int n, i;

	scanf("%d", &n);
	for(i=1; i<=n; i++){
		int s = i*i;
		int k = 0;
		int j;
		for(j=0;s!=0; j++)
		{
			a[j] = s%10;
			s /= 10;
			k++;
		}

		if(a[j] == a[k-j+1])
		printf("%d\n", );
	}
	return 0;
}
*/

时间: 2024-10-05 22:31:07

回文素数的相关文章

算法15---数论6---素数,回文素数 分解质因素

算法15---数论6---素数,回文素数  分解质因素 1 /* 2 题目:素数,回文素数 3 author taoliu——alex 2016.10 number4 4 5 主要实现: 6 判断素数,判断回文素数 7 */ 8 9 10 11 #include <stdio.h> 12 #include <math.h> 13 14 15 16 //素数 17 18 19 int isprime(int a) 20 { 21 for (int i = 2; i < a; i

poj3247:回文素数

总时间限制: 5000ms 内存限制: 65536kB 描述 一个数如果从左往右读和从右往左读数字是相同的,则称这个数是回文数,如121,1221,15651都是回文数.给定位数n,找出所有既是回文数又是素数的n位十进制数.(注:不考虑超过整型数范围的情况). 输入 位数n,其中1<=n<=9. 输出 第一行输出满足条件的素数个数. 第二行按照从小到大的顺序输出所有满足条件的素数,两个数之间用一个空格区分. 样例输入 1 样例输出 4 2 3 5 7 这道题挺简单的,本来自己是肯定能够想到平方

C++刷题——2704: 回文素数

2704: 回文素数 /* Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2015年 5 月 26 日 * 版 本 号:v1.0 */ Description 输入一个数n,输出n以内所有的回文素数.回文素数,即既是素数,又是回文数,从前往后.从后往前看一个样.例373. Input 大于10的正整数n Output n以内所有的回文素数 Sample Input 500

HDU 1431 素数回文(回文素数)

http://acm.hdu.edu.cn/showproblem.php?pid=1431 题意: 给你两个整数a,b.(5 <= a < b <= 100,000,000)要你按顺序输出[a,b]区间内的所有回文素数. 分析: 定理:如果一个数是回文且有偶数位,那么它能被11整除. 根据上面定理我们可知我们只需要找到区间[2,1000W)内的素数即可.(想想为什么)上面b的范围直接缩小了10倍. 剩下的工作就是用筛选法求出1000W内的所有素数,然后对于给定的a和b,我们对于[a,b

HDU 1431 素数回文(打表+技巧,最大回文素数为9989899!!!)

素数回文 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 17512    Accepted Submission(s): 4033 Problem Description xiaoou33对既是素数又是回文的数特别感兴趣.比如说151既是素数又是个回文.现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a

回文素数-2015校内选拔第三题

10301是个5位的素数.它有个特点,把数字倒过来还是它本身,具有这样特征的素数,我们称之为:回文素数. 105011060111311 这些都是5位的回文素数. 请你计算一下,像这样的5位数的回文素数,一共有多少个? 请填写这个表示个数的整数,注意不要写任何其它多余的内容,比如说明或解释文字,也不要列出所有的回文素数. 原文地址:https://www.cnblogs.com/jinyufanfan/p/10105434.html

Codeforces Round #315 -Primes or Palindromes?(回文&amp;&amp;素数)

题目地址:Primes or Palindromes? 题意:给出p,q,A=p/q,求找出最大的n使得n以内的素数的个数<=A*n以内的回文串的个数. 思路:其实就是n以内的素数的个数*q<=n以内的回文串的个数*p.然而p/q的最大值为42,那么数到13000000就到达极限,所以我们直接可以从大的开始往小的一步一步的暴力枚举就可以(感觉窝还是太年轻..QAQ #include <stdio.h> #include <math.h> #include <str

11周(回文+ 素数)

/* *copyright(c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:测试控制符号 *作者:王忠 *完成日期:2014.10.30 *版本号:v1.0 * *问题描述:输出1000以内既是回文数又是素数的数 *输入描述: *程序输出:输出1000以内既是回文数又是素数的数 #include <iostream> using namespace std; bool isPalindrome(int); bool isPrimer(int); in

一亿以内的回文素数

题意分析:求给定区间内的质数回文数题目分析:1.多组测试数据,所以先打表.2.先求质数再判断回文,效率低下:所以先构造回文数,再判断质数.3.偶数位的回文数都能被11整除,自己证明去.所以,偶数位的回文数除了11都是合数.4.一个k位数,可以构造出一个奇数位的回文数.比如13,可以构造131:189可以构造18981.所以100000000内的只要从1构造到9999即可.5.若范围为1000000000,那么明显超出int范围,要用long long.当然此题无此陷阱.6. 最后按从小到大的顺序