与输入

111 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第3天,点击查看活动详情

AcWing 608. 差

读取四个整数 A,B,C,D,并计算 (A×B−C×D)的值。

输入格式

输入共四行,第一行包含整数 A,第二行包含整数 B,第三行包含整数 C,第四行包含整数 D。

输出格式

输出格式为 DIFERENCA = X,其中 X 为 (A×B−C×D)的结果。

数据范围

−10000 ≤ A,B,C,D ≤ 10000

输入样例:

5
6
7
8

输出样例:

DIFERENCA = -26

ac代码

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        int d = sc.nextInt();
        System.out.printf("DIFERENCA = %d\n", a * b - c * d);
    }
}

AcWing 616. 两点间的距离

给定两个点 P1 和 P2,其中 P1 的坐标为 (x1,y1),P2 的坐标为 (x2,y2),请你计算两点间的距离是多少。

输入格式

输入共两行,每行包含两个双精度浮点数 xi,yi,表示其中一个点的坐标。

输入数值均保留一位小数。

输出格式

输出你的结果,保留四位小数。

数据范围

−10^9 ≤ xi,yi ≤ 10^9

输入样例:

1.0 7.0
5.0 9.0

输出样例:

4.4721

ac代码

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double x1 = sc.nextDouble(), y1 = sc.nextDouble();
        double x2 = sc.nextDouble(), y2 = sc.nextDouble();
        double dx = x1 - x2;
        double dy = y1 - y2;
        System.out.printf("%.4f\n", Math.sqrt(dx * dx + dy * dy));
    }
}

AcWing 653. 钞票

在这个问题中,你需要读取一个整数值并将其分解为多张钞票的和,每种面值的钞票可以使用多张,并要求所用的钞票数量尽可能少。

请你输出读取值和钞票清单。

钞票的可能面值有 100,50,20,10,5,2,1。

经过实验证明:在本题中,优先使用面额大的钞票可以保证所用的钞票总数量最少。

输入格式

输入一个整数 N。

输出格式

参照输出样例,输出读取数值以及每种面值的钞票的需求数量。

数据范围

0 < N < 1000000

输入样例:

576

输出样例:

576
5 nota(s) de R$ 100,00
1 nota(s) de R$ 50,00
1 nota(s) de R$ 20,00
0 nota(s) de R$ 10,00
1 nota(s) de R$ 5,00
0 nota(s) de R$ 2,00
1 nota(s) de R$ 1,00

ac代码

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] money = {100,50,20,10,5,2,1};
        System.out.println(n);
        for (int x: money) {
            System.out.printf("%d nota(s) de R$ %d,00\n", n / x, x);
            n %= x;
        }
    }
}

AcWing 654.时间转换

读取一个整数值,它是工厂中某个事件的持续时间(以秒为单位),请你将其转换为小时:分钟:秒来表示。

输入格式

输入一个整数 N。

输出格式

输出转换后的时间表示,格式为 hours:minutes:seconds

数据范围

1 ≤ N ≤ 1000000

输入样例:

556

输出样例:

0:9:16

ac代码

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int hour = n / 3600;
        n %= 3600;
        int minute = n / 60;
        int second = n % 60;
        System.out.printf("%d:%d:%d\n", hour, minute, second);
    }
}