/*
历届试题 带分数
问题描述
100 可以表示为带分数的形式:100 = 3 + 69258 / 714。
还可以表示为:100 = 82 + 3546 / 197。
注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。
类似这样的带分数,100 有 11 种表示法。
输入格式
从标准输入读入一个正整数N (N<1000*1000)
输出格式
程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。
注意:不要求输出每个表示,只统计有多少表示法!
样例输入1
100
样例输出1
11
样例输入2
105
样例输出2
6
*/
import java.util.Scanner;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
int count = 0;
for (int i = 1; i < n; i++) {
if (!check(i + ""))
continue;
for (int j = 1; j < 3500; j++) {
int b = j * (n - i);
String s = "" + b + j + i;
if (s.length() != 9 || !check(s))
continue;
count++;
}
}
System.out.println(count);
}
static boolean check(String s) {
char a[] = s.toCharArray();
for (int i = 0; i < a.length - 1; i++)
for (int j = i + 1; j < a.length; j++)
if (a[j] == '0' || a[i] == a[j])
return false;
return true;
}
}