• 蓝桥杯 2014年 第五届 矩阵翻硬币(JAVA)


    蓝桥杯 2014年 第五届 矩阵翻硬币(JAVA)

    package provincial_2014B;
    
    import java.math.BigInteger;
    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Ten {
    	public static void main(String[] args) {
    		Scanner scan = new Scanner(System.in);
    		String n = scan.next();
    		String m = scan.next();
    		// 1~n中的平方数=floor(sqrt(n))
    		System.out.println(sqrt(n).multiply(sqrt(m)));
    	}
    	
    	public static BigInteger sqrt(String num) {
    		// 算出num平方根的位数
    		int length = num.length();
    		int len = length/2;
    		if((length&1)==1)
    			len+=1;
    		
    		char[] ans = new char[len];
    		Arrays.fill(ans, '0');
    		BigInteger n = new BigInteger(num);
    		for(int i = 0; i < len; i++) {
    			for(char j = '1'; j <= '9'; j++) {
    				ans[i] = j;
    				BigInteger a = new BigInteger(String.valueOf(ans));
    				BigInteger temp = a.pow(2);
    				if(temp.compareTo(n)>0) {
    					ans[i] --;
    					break;
    				} else if(temp.compareTo(n)==0) {
    					return a;
    				}
    			}
    		}
    		
    		return new BigInteger(String.valueOf(ans));
    	}
    }
    
    
  • 相关阅读:
    DAY 5 搜索
    DAY 4 基础算法
    P2114 [NOI2014]起床困难综合症
    UVA10140 Prime Distance
    day 2 DP专场
    DAY 3 数论专场
    day 2 下午 骑士 基环树+树形DP
    day 1 晚上 P2824 [HEOI2016/TJOI2016]排序 线段树
    帝国后台加网站地图
    手风琴效果
  • 原文地址:https://www.cnblogs.com/fromneptune/p/12427801.html
Copyright © 2020-2023  润新知