• 洛谷


    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;
        }
    }
  • 相关阅读:
    课程总结
    课程总结
    十四周实验报告&&课程总结
    记事本代码
    第十三周课程总结
    第十二周课程报告
    PTA实验 链表拼接 (20point(s))
    课程总结
    第十四周课程总结&实验报告
    第十三周课程总结
  • 原文地址:https://www.cnblogs.com/Yinku/p/10660461.html
Copyright © 2020-2023  润新知