博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[结题报告]10235 - Simply Emirp Time limit: 3.000 seconds
阅读量:6655 次
发布时间:2019-06-25

本文共 2030 字,大约阅读时间需要 6 分钟。

 

Problem G: Simply Emirp

An integer greater than 1 is called a prime number if its only positive divisors (factors) are 1 and itself. Prime numbers have been studied over the years by a lot of mathematicians. Applications of prime numbers arise in Cryptography and Coding Theory among others.

Have you tried reversing a prime ? For most primes, you get a composite (43 becomes 34). An Emirp (Prime spelt backwards) is a Prime that gives you a different Prime when its digits are reversed. For example, 17 is Emirp because 17 as well as 71 are Prime. In this problem, you have to decide whether a number N is Non-prime or Prime or Emirp. Assume that 1< N< 1000000.

Interestingly, Emirps are not new to NTU students. We have been boarding 199 and 179 buses for quite a long time!

Input

Input consists of several lines specifying values for N.

Output

For each N given in the input, output should contain one of the following:

    1. "N is not prime.", if N is not a Prime number.

    2. "N is prime.", if N is Prime and N is not Emirp.
    3. "N is emirp.", if N is Emirp.

Sample Input

171819179199

Sample Output

17 is emirp.18 is not prime.19 is prime.179 is emirp.199 is emirp. 参考代码: 此题主要是讲判断一个数是否为质数,和其倒过来的数是否为质数,思路并不难想,只要掌握数倒置,如何让判断质数即可.先求出倒置的数,然后分别判断是否为质数,最后判断输出.
#include"stdio.h"#include"math.h"#include"stdlib.h"long fun1(long n)   //判断是否为质数 { long t,m;  m=(long)sqrt(n);  for(t=2;t<=m;t++)   if(n%t==0)   return 0;  return 1;      }long fun2(long s)      //将数倒置 { char a[2000];  int i=0;  while(s>0)  { a[i]=s%10+48;        s/=10;    i++;}  a[i]='\0';  s=atol(a);  return s;          }int main(void){ long n,m,flag1,flag2,flag3;  while(scanf("%ld",&n)!=EOF)  {flag1=0;flag2=0;flag3=0;   m=fun2(n);   flag1=fun1(n);   flag2=fun1(m);   if(m!=n)   flag3=1;   if(flag1==1&&flag2==1&&flag3==1) printf("%ld is emirp.\n",n);   else    if(flag1==1) printf("%ld is prime.\n",n);   else   if(flag1==0) printf("%ld is not prime.\n",n);                             }return 0;      }

 

转载于:https://www.cnblogs.com/sjy123/archive/2013/02/23/2923080.html

你可能感兴趣的文章
【原创】一路成长一路歌
查看>>
hello
查看>>
debian 安装配置heartbeat
查看>>
解决linux的-bash: ./xx: Permission denied
查看>>
Ubuntu14.10 remove ibus 之后
查看>>
Spring第一天
查看>>
springMVC笔记系列(20)——控制器实现详解(下)
查看>>
nodjs 生产环境及升级问题
查看>>
JS判断客户端是否是iOS或者Android手机移动端
查看>>
laravel 常用的第三方扩展包
查看>>
php超时时间说明
查看>>
spring cron表达式及解析过程
查看>>
嵌入式Linux加快物联网开发速度的方案研究
查看>>
加号+和减号-
查看>>
详解Mysql分布式事务XA(跨数据库事务)
查看>>
2018年,成功的创业公司网站是怎么设计的?
查看>>
MySQL 创始人:写代码比打游戏还爽,程序员应该多泡开源社区
查看>>
构造器内部的多态方法的行为
查看>>
Android Studio库Module引用aar文件
查看>>
008-tar,gzip,bzip2的使用
查看>>