import java.text.Format;

import javax.naming.MalformedLinkException;

/**
 * 
 * 双循环的一些题目
 * @author Monster丶ZF
 * @version1.8
 * @data 2019年4月9日
 * @remakeTODO
 */
public class DoubleForDemotwo {
	public static void main(String[] args) {
//		// 1.操场上有一百多人排队,三人一组多一人,四人一组多2人,五人一组多3人,问:一共有多少人?(118.17,)
//		//思路:隐含条件 一百多人即100-199
//		for (int i = 100; i < 200; i++) {
//			if(i % 3 ==1 && i % 4 == 2 && i % 5 == 3){
//				System.out.println("操场上一共有"+ i +"个人");
//			}
//			
//		}

		//2.甲乙丙丁一共加工零件370个,如果把甲的个数加10,乙做的个数减20,丙做的个数乘2,(70 100 40 160)
		//丁做的个数除以2,那么四人做的零件数量相等,问:甲一共做的多少零件?
		// 电脑很快,穷举法
//		for (int i = 1; i < 367; i++) {  // 甲加工零件的数量  他的数量一定是1-367之间
//			for (int j = 1; j < 367; j++) { // 乙加工的零件数量,同甲类似
//				for (int k = 1; k <367; k++) {  // 丙加工的零件数量, 则整个循环执行367*367*367次
//					int d = 370 - i -j -k;
//					if(i +10 == j - 20 && j-20 == k * 2 && k * 2 == d/2){
//						System.out.printf("甲乙丙丁分别加工了%-4d%-4d%-4d%-4d",i,j,k,d);  //%4d右对齐:左边留空格     %-4d左对齐:右边留空格
//						
//					}
//					
//				}
//				
//			}
//			
//		}
		
		//3.求1到500之间不含数字4的自然数共有多少个?(324)
//		int count = 0;
//		for (int i = 1; i < 501; i++) {
//			 int a = i % 10;   //个位
//			 int b = i / 10 % 10 ; //十位
//			 int c = i / 100;      // 百位
//			 if(a == 4 || b == 4 || c == 4){
//				 continue;              //r如果个位或者十位或者百位等于四则跳过本次循环,不计数
//			 }
//			 count ++;	
//		}
//		System.out.println("1到500之间不含数字4的自然数共有多少"+ count + "个");
		
		
		
		
//		//4.两个自然数X,Y相除,商3余10,被除数、除数、商、余数的和是163,求被除数、除数。(115、35)
//		for (int i = 1; i < 163; i++) {   //  i相当于X
//			for (int j = 1; j < i / 3; j++) {  //  j相当于Y
//				int mod = i % j;
//				if((i + j + i / j+ mod) == 163 && i / j == 3 && i % j == 10){
//				System.out.printf("被除数和除数分别为:%4d%4d",i,j);
//				}
//				
//			}
//				
//		}

//		//5.某数学竞赛中,参加人数大约在380-450人之间,比赛结果,全体考生总平均分为76分
//		//男生的平均分为75分,女生的平均分为80.1分,求男女生各多少人?(328,80)
//
//		int femaleCount = 0;
//		for (int i = 380; i < 450; i++) {
//			for (int maleCount = 0; maleCount < i; maleCount++) {
//				femaleCount =  i - maleCount;
//				if(maleCount * 75 + femaleCount * 80.1 == i*76 ){
//					//System.out.println("男生:"+ maleCount + "人,女生" + femaleCount + "人");
//					String str = String.format("男生:%d,女生:%d", maleCount,femaleCount);
//					System.out.println(str);
//				}
//				
//			}
//			
//		}
		
//		//6.一位四位数,恰好等于去掉它的首位数字之后所剩的三位数的3倍,这个四位数是多少?(1500)
//		// 1000-10000
//		for (int i = 1000; i < 10000; i++) {
//			if(i == i % 1000 * 3){
//				System.out.println("这个四位数是:" + i);
//			}
//			
//		}
//		//7.有红、白、黑、三种秋若干个,其中红、白球共25个,白、黑球共31个,红、黑球共28个,
//		//求这三个球各多少个?(11、14、17)
//		for (int i = 1; i < 25; i++) {    //红球的数量
//			for (int j = 1; j < 31; j++) {   //白球的数量
//				int k = 31 - j;
//				//int k = 28 - i;            //黑球的数量
//				if(i + j ==25 &&  j + k == 31 && i + k == 28){
//					String str = String.format("红球:%d,白球:%d,黑球:%d", i,j,k);
//					System.out.println(str);
//				}
//			}
//			
//		}
		
//		//8. 输出四位自然数中各位数之和为6并且各位数字互不相同的数,并统计个数
//		//(1023、1032、1203、1230、....3201、3210、18)
//		int count = 0;
//		for (int i = 1000; i < 10000; i++) {
//			int a = i % 10;        //个位
//			int b = i / 10 % 10 ;  //十位
//			int c = i / 100 % 10;  //百位	
//			int d = i / 1000;      //千位
//			if(a + b + c + d == 6 && a != b && a != c && a != d && b != c && b != d &&  c!= d ){
//			count += 1;
//			
//			System.out.print(i+"\t");
//			}
//		}
//		System.out.printf("总共:%d个",count);
		
		
		//9.将100元纸币兑换成10元、5元和1元纸币共20张,输出各种兑换法,并统计个数。
		//(4、11、5;8、2、10:S=2)
		int count = 0;
		for (int i = 1; i < 20; i++) {      //10元纸币数量
			for (int j = 1; j < 20; j++) {  // 5元纸币数量
				int k = 20 - i - j;
				if(i * 10 +j * 5 + k == 100){
					count++;
					System.out.printf("%d张10元;%d张5元;%d张1元;\n",i,j,k);
				}
			
				
			}
			
		}
		System.out.println("共" + count + "种");
		
		
		
		
		
		
		
		
	}

}