杭电 OJ 1010-1019 Java解法(未更新完毕)

1010

1011

1012

先得到结果

然后面向结果输出结果即可

java 复制代码
import java.util.Scanner;

public class Main {

    static  double sum=0;

    public static void main(String[] args) {
       
        Scanner sc=new Scanner(System.in);

//        for (int i = 0; i < 10; i++) {
//                sum+=1.0/fac(i);
//            System.out.println(i+" "+String.format("%.9f",sum));
//        }

        System.out.println("n e");
        System.out.println("- -----------");
        System.out.println("0 1");
        System.out.println("1 2");
        System.out.println("2 2.5");
        System.out.println("3 2.666666667");
        System.out.println("4 2.708333333");
        System.out.println("5 2.716666667");
        System.out.println("6 2.718055556");
        System.out.println("7 2.718253968");
        System.out.println("8 2.718278770");
        System.out.println("9 2.718281526");
    }

    public static double fac(int x){
        int result=1;
        for (int i1 = 1; i1 <= x; i1++) {
            result*=i1;
        }
        return result;
    }
}

1013

开long不行 得开大数

java 复制代码
import java.math.BigInteger;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            BigInteger n = sc.nextBigInteger();
            if (n.equals(BigInteger.ZERO)) return;
            BigInteger ans = n;
            while (ans.compareTo(BigInteger.TEN) >= 0) {
                BigInteger k = ans;
                ans = BigInteger.ZERO;
                while (k.compareTo(BigInteger.ZERO) > 0) {
                    ans = ans.add(k.mod(BigInteger.TEN));
                    k = k.divide(BigInteger.TEN);
                }
            }
            System.out.println(ans);
        }
    }
}

1014

1015

1016

1017

1018

直接取对数

java 复制代码
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        for (int j = 0; j < n; j++) {
            double sum = 0.0;
            int x = scanner.nextInt();
            for (int i = 1; i <= x; i++) {
                sum += Math.log10(i);
            }
            System.out.println((int) (sum) + 1);
        }
    }
}

1019

线性表遍历

java 复制代码
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int m = scanner.nextInt();
        while (m-- > 0) {
            int n = scanner.nextInt();
            int[] x = new int[n];
            for (int i = 0; i < n; i++) {
                x[i] = scanner.nextInt();
            }
            for (int i = 0; i < n - 1; i++) {
                x[i + 1] = run(x[i], x[i + 1]);
            }
            System.out.println(x[n - 1]);
        }
    }
  public static int run(int x, int y) {
        int i, s;
        for (i = Math.min(x, y); i >= 1; i--) {
            if (x % i == 0 && y % i == 0) {
                break;
            }
        }
        s = (x / i) * y;
        return s;
    }
}
相关推荐
人活一口气4 小时前
Spring Boot与AIGC的完美结合:从零搭建智能内容生成平台
java·spring boot·aigc
像我这样帅的人丶你还6 小时前
Java 后端详解(三):全局异常处理与 JPA 数据库映射
java·后端
NE_STOP6 小时前
vibe Coding -- 小项目实战
java
未秃头的程序猿12 小时前
Java 26正式发布!这3个新特性,让代码量直接减半
java·后端·面试
用户2986985301412 小时前
Word 文档文本查找与替换的 Java 实现方案
java·后端
阿哉12 小时前
Nacos 服务发现源码:藏在背后的两套事件机制,90%的人只讲了一半
java
05Kevin12 小时前
lk每日冒险题--数据结构6.27
算法
咖啡八杯13 小时前
GoF设计模式——命令模式
java·设计模式·架构
AI人工智能_电脑小能手13 小时前
【大白话说Java面试题 第125题】【并发篇】第25题:说说 Java 线程的中断机制
java·后端·面试