zoukankan      html  css  js  c++  java
  • A1015 Reversible Primes (20分)(素数判断,进制转换)

    一、技术总结

    1. 这一题主要学到了,进制转换如下:
    int len = 0;
    do{
          d[len++] = n % radix;//转化成该进制,数组低位表示转换后进制的低位;
          n /= radix;
    }while(n != 0);
    int p = 1;
    for(int i = len - 1; i >= 0; i--){
          n = n + d[i] * p;//逆序后按原来进制转化为10进制;
          p = p * radix;
    }
    
    1. 还有就是不断输入while(scanf() != EOF){}

    二、参考代码

    #include<iostream>
    #include<cmath>
    using namespace std;
    bool isPrime(int x){
    	if(x <= 1) return false;
    	int sqr = (int)sqrt(x);
    	for(int i = 2; i <= sqr; i++){
    		if(x % i == 0) return false;
    	}
    	return true;
    }
    int d[111];
    int main(){
    	int n, radix;
    	while(scanf("%d", &n) != EOF){
    		if(n < 0) break;
    		scanf("%d", &radix);
    		if(isPrime(n) == false){
    			printf("No
    ");
    		}else{//进制转换 
    			int len = 0;
    			do{
    				d[len++] = n % radix;
    				n /= radix;
    			}while(n != 0);
    			int p = 1;
    			for(int i = len-1; i >= 0; i--){
    				n = n + d[i] * p;
    				p = p * radix;
    			} 
    			if(isPrime(n) == true) printf("Yes
    ");
    			else printf("No
    ");
    		}
    	}
    	return 0;
    }
    
  • 相关阅读:
    ngInclude与script加载模板
    ng-model-options
    angular模板加载 ----ng-template
    ngBind ngBindTemplate ngBindHtml
    ng-switch
    ng-show与ng-if区别
    运维教给我什么
    路漫漫其修远兮,吾将上下而求索
    那些让我们继续坚持下去句子
    随手记
  • 原文地址:https://www.cnblogs.com/tsruixi/p/13215998.html
Copyright © 2011-2022 走看看