杭电 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;
    }
}
相关推荐
陆业聪3 分钟前
基本数据类型:Kotlin、Dart (Flutter)、Java 和 C++ 的比较
java·flutter·kotlin
程序修理员3 分钟前
2个word内容合并
java·word
醇氧3 分钟前
【idea】更换快捷键
java·ide·intellij-idea
容器( ु⁎ᴗ_ᴗ⁎)ु.。oO18 分钟前
java中的定时器
java·开发语言
m0_5474866619 分钟前
一道C语言关于距离的期末题及答案
c语言·开发语言
蹊黎20 分钟前
C++模版初阶
开发语言·c++
山川尔尔_21 分钟前
JS手写-this绑定实现
开发语言·javascript·ecmascript
不去幼儿园22 分钟前
【SSL-RL】自监督强化学习: 好奇心驱动探索 (CDE)算法
大数据·人工智能·python·算法·机器学习·强化学习
YYDS31425 分钟前
C++各类函数评点+详解
开发语言·数据结构·c++·算法·贪心算法·动态规划
SaNDJie26 分钟前
24.11.13 机器学习 特征降维(主成份分析) KNN算法 交叉验证(K-Fold) 超参数搜索
人工智能·算法·机器学习