小博是新城小学二年级学生,这孩子人很老实,数学、语文成绩都是中等。不过一旦坐在电脑前,写起代码来,则有些霸气侧漏,尤其擅长各种暴力方法。本题就是数学莫老师的题目之一,请你和小博一起暴力求解吧。
输入格式:
第一行给出这个和N(图中例子的和N为2000)。
输出格式:
第一行输出所有解的数目K,随后K行按照DCBA 4位数字从小到大输出所有解。
输入样例:
例如输入:
2000
输出样例:
则输出:
2
0965
1465
作者: 丁展
单位: 金陵科技学院
时间限制: 400 ms
内存限制: 64 MB
代码长度限制: 16 KB
1 import java.util.HashSet; 2 import java.util.Scanner; 3 import java.util.Set; 4 public class Main { 5 public static void main(String[] args)throws Exception { 6 String[] k=new String[10000]; 7 Scanner sc=new Scanner(System.in); 8 int n=sc.nextInt(); 9 int g=0; 10 for(int d=0;d<10;d++){ 11 for(int c=0;c<10;c++){ 12 for(int b=0;b<10;b++){ 13 for(int a=0;a<10;a++){ 14 Set<Integer> set = new HashSet<Integer>(); 15 set.add(a); 16 set.add(b); 17 set.add(c); 18 set.add(d); 19 if(set.size()==4&&(d*1000+c*200+b*30+4*a)==n){ 20 k[g]=d+""+c+""+b+""+a; 21 g++; 22 } 23 } 24 } 25 } 26 } 27 System.out.println(g); 28 for(int j=0;j<g;j++){ 29 System.out.println(k[j]); 30 } 31 } 32 }
HashSet类,是存在于java.util包中的类。同时也被称为集合,该容器中只能存储不重复的对象。(待补充)