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;
    }
    
  • 相关阅读:
    [USACO06FEB] Stall Reservations 贪心
    [USACO14MAR] Sabotage 二分答案 分数规划
    【机房史】笑面与学弟们的日常正文17最近一次更新20200802
    8.22返校前记
    2020年7月1日
    我TM怎么这么垃圾
    平安夜
    2018 12 21
    新blog
    写在搬家之后.
  • 原文地址:https://www.cnblogs.com/tsruixi/p/13215998.html
Copyright © 2011-2022 走看看