🌕🌗🌑🌑🌑

# 題目連結

  • 題目連結
  • Online Judge
  • uDebug

# 題目說明

Time limit: 3.000 seconds

# 題目

Write a program that finds and displays all pairs of 5-digit numbers that between them use the digits 0 through 9 once each, such that the first number divided by the second is equal to an integer N, where 2 ≤ N ≤ 79 . That is,

abcdefghij=N\frac{abcde}{fghij} = N

where each letter represents a different digit. The first digit of one of the numerals is allowed to be zero.

# Input

Each line of the input file consists of a valid integer N . An input of zero is to terminate the program.

# Output

Your program have to display ALL qualifying pairs of numerals, sorted by increasing numerator (and, of course, denominator).

Your output should be in the following general form:

xxxxx / xxxxx = N
xxxxx / xxxxx = N
.
.

In case there are no pairs of numerals satisfying the condition, you must write ‘There are no solutions for N .’. Separate the output for two different values of N by a blank line.

# Sample Input

61
62
0

# Sample Output

There are no solutions for 61.

79546 / 01283 = 62
94736 / 01528 = 62

# 解題技巧

# Solution

Main.java
import java.util.*;
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        String sortNum = "  /0123456789";
        while(N != 0){
            ArrayList<String> ans = new ArrayList<>();
            for(int i = 98765; i >= 1234; ){
                if(i % N == 0){
                    int num = i / N;
                    String str = i + " / " + (num < 10000 ? "0" + num : num);
                    char[] c = str.toCharArray();
                    Arrays.sort(c);
                    String temp = new String(c);
                    if(temp.equals(sortNum)){
                        ans.add(str);
                    }
                    i = i - N;
                }else{
                    i--;
                }
            }
            if(ans.size() == 0){
                System.out.println("There are no solutions for " + N + ".");
            }else{
                for(int i = ans.size() - 1; i >= 0; i--){
                    System.out.println(ans.get(i) + " = " + N);
                }
            }
            N = sc.nextInt();
            if(N != 0){
                System.out.println("");
            }
        }
        sc.close();
    }
}
單字

** **
!! !!

片語 & 搭配詞

!! !!