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;
    }
    
  • 相关阅读:
    react 之 ref
    再看redux
    localtunnel内网服务器暴露至公网
    Relay GraphQL理解
    微信小程序
    React Router
    webpack
    Redux
    bootstrap
    jQuery中.bind() .live() .delegate() .on()区别
  • 原文地址:https://www.cnblogs.com/yuhan-blog/p/12309089.html
Copyright © 2011-2022 走看看