心得:看清题目要求,直接枚举便可。代码长是长了些,但是思路还是比较简单的。
/*
* 日期:2019.7.8
* 作者:城主
* 题目:烤鸡
* 思路:做九次for循环,满足条件输出
*/
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Scanner;
import java.awt.*;
public class happ {
public static void main(String args[])
{
Scanner scan=new Scanner(System.in);
int number=scan.nextInt();
int temp=0;
int count=0;
int flag=0;
for(int a1=1;a1<=3;a1++)
{
for(int a2=1;a2<=3;a2++)
{
for(int a3=1;a3<=3;a3++)
{
for(int a4=1;a4<=3;a4++)
{
for(int a5=1;a5<=3;a5++)
{
for(int a6=1;a6<=3;a6++)
{
for(int a7=1;a7<=3;a7++)
{
for(int a8=1;a8<=3;a8++)
{
for(int a9=1;a9<=3;a9++)
{
for(int a10=1;a10<=3;a10++)
{
if((a1+a2+a3+a4+a5+a6+a7+a8+a9+a10)==number)
{
count++;
flag=1;
}
}
}
}
}
}
}
}
}
}
}
if(flag==0)
{
System.out.println(0);
}
else
{
System.out.println(count);
for(int a1=1;a1<=3;a1++)
{
for(int a2=1;a2<=3;a2++)
{
for(int a3=1;a3<=3;a3++)
{
for(int a4=1;a4<=3;a4++)
{
for(int a5=1;a5<=3;a5++)
{
for(int a6=1;a6<=3;a6++)
{
for(int a7=1;a7<=3;a7++)
{
for(int a8=1;a8<=3;a8++)
{
for(int a9=1;a9<=3;a9++)
{
for(int a10=1;a10<=3;a10++)
{
if((a1+a2+a3+a4+a5+a6+a7+a8+a9+a10)==number)
{
System.out.println(a1+" "+a2+" "+a3+" "+a4+" "+
+a5+" "+a6+" "+a7+" "+a8+" "+a9+" "+a10);
}
}
}
}
}
}
}
}
}
}
}
}
scan.close();
}
}