zoukankan      html  css  js  c++  java
  • PAT 甲级 1015 Reversible Primes (20 分)

    这个20分的题居然困了我好久,主要是没什么进制互换和倒序的经验,我自作聪明用了int来存储任意进制的数,到最后才发现二进制数或者低进制数可能会超出范围导致最后一个测试点过不了。顺便吐槽一句c++的字符数组、字符指针和字符串是真难用。。。

    代码:

    #include<iostream>
    #include<cmath>
    #include<vector>
    using namespace std;
    bool isPrime(int n){
    	if(n<2) return 0;
    	int sqr=(int)sqrt(n*1.0);
    	for(int i=2;i<=sqr;i++)
    		if(n%i==0) return false;
    	return true;
    }
    int reverse(int n,int d){
    	vector<int> v;
    	while(n){
    		v.push_back(n%d);
    		n/=d;
    	}
    	int m=0,s=v.size();
    	for(int i=0;i<s;i++)
    		m+=v[s-1-i]*pow(d,i);
    	return m;
    }
    int main(){
    	int n,d;
    	while(scanf("%d",&n)){
    		if(n<0) break;
    		scanf("%d",&d);
    		isPrime(n)&&isPrime(reverse(n,d))?printf("Yes
    "):printf("No
    ");
    	}
    	return 0;
    }
    
  • 相关阅读:
    迟滞电压比较器
    单调谐小信号放大器
    汇编指令
    渗透测试之信息收集
    DVWA——文件包含
    DVWA——文件上传
    文件上传漏洞与利用
    在Metasploit中使用PostgreSQL
    软件安装方法
    XML外部实体(XXE)
  • 原文地址:https://www.cnblogs.com/yuhan-blog/p/12309089.html
Copyright © 2011-2022 走看看