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 + "种");
}
}
















