• 洛谷


    https://www.luogu.org/problemnew/show/P5000

    第一次写一个正经的高精度题。

    很明显ASCII码的乘积绝对是溢出的。

    那么直接上Java。正好学一手Java的字符串处理。

    Java的字符串String有toCharArray方法,也可以传入char[]数组直接构造。

    import java.util.*;
    import java.math.*;
    
    public class Main {
        public static void main(String args[]) {
            Scanner sc=new Scanner(System.in);
            int n=sc.nextInt(),r=sc.nextInt();
            while(n-->0) {
                String s=sc.next();
                BigInteger b;
                s=change(s,r);
                b=count(s);
                System.out.println(s);
                System.out.println(b);
            }
            sc.close();
        }
        
        public static String change(String s,int r) {
            char ch[]=s.toCharArray();
            int l=s.length();
            for(int i=0;i<l;i++) {
                ch[i]=(char) ((ch[i]-'A'+r)%26+'A');
            }
            return new String(ch);
        }
        
        public static BigInteger count(String s) {
            BigInteger b=BigInteger.ONE;
            char ch[]=s.toCharArray();
            int l=s.length();
            for(int i=0;i<l;i++) {
                b=b.multiply(BigInteger.valueOf(ch[i]));
            }
            return b;
        }
    }
  • 相关阅读:
    javascript生成二维码
    Gulp--Less
    自动构建工具Gulp
    上传文件返回数据提示下载
    svg
    Grunt--Less
    node.js--Less
    浏览器端Less
    HTML5表单
    node.js模块依赖及版本号
  • 原文地址:https://www.cnblogs.com/Yinku/p/10660461.html
Copyright © 2020-2023  润新知