杭电 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 分钟前
OCR到底是接入第三方API 还是自己封装?
java·ocr
kiracrimson6 分钟前
STL:List的使用和模拟实现
开发语言·c++·list
2601_961146209 分钟前
实验室用等离子表面处理设备处理汽车PP内饰件和PBT骨架的一点记录
笔记·汽车·设备
二十七日秋13 分钟前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
码智社21 分钟前
Redis 哨兵模式详解:从原理到生产实践
java·redis
星恒随风27 分钟前
Linux Socket TCP编程(二):逐文件重构多进程、多线程与线程池服务器,深入fork、pthread_create、popen和std::bind
linux·服务器·笔记·学习·tcp/ip
晚风叙码28 分钟前
Linux 进程概念(下):程序地址空间与虚拟内存
linux·服务器·算法
救救孩子把30 分钟前
结构化输出为何“格式正确、答案错误”?JSON Schema 的能力边界
android·java·json·agent·agent服务
北冥you鱼42 分钟前
Go 语言 GORM 使用 Preload:从关联查询到嵌套预加载的完整实践
开发语言·jvm·golang
silvamux_1 小时前
微头条爆款体平台适配实测:把交付要求变成可计算的指标
java·线性代数·算法·决策树·矩阵