您的位置:首页 > 编程语言 > Java开发

Java多重循环算法问题:(九九乘法表、打印平行四边形、打印空心菱形、打印菱形、搬砖问题、斐波那契数列、猴子吃桃问题、回文数、1!+2!+...+20!)

2015-08-16 21:03 846 查看
package jereh1;

import java.util.Scanner;

public class Class4XunHuan {
	public static void main(String args[]){
		
		Scanner input =new Scanner(System.in);
		
//		for(int i=0;i<=100;i++){
//			System.out.println("Let's fight,let's go");
//		}
		
		
		
//		int sum=0;
//		for( int i=1;i<=100;i++){
//			sum+=i;
//		}
//		System.out.print("1-100累加之和:"+sum);
		
		
//		//九九乘法表
//		for(int i=1;i<=9;i++){
//			for(int j=1;j<=i;j++){
//				System.out.print(j+"*"+i+"="+i*j+"\t");
//			}
//				System.out.println();
//		}
		
		
		
//		int sum=0;
//		for(int i=1;i<=101-i;i++){
//			sum+=101;  //i +(101-i)
//		}
//		System.out.println(sum);
		
		
//		int sum=0;
//		for(int i=1,j=100;i<j;i++,j--){
//			sum=i+j;
//		}
//		System.out.println("1-100累加之和:"+sum);
		
		
		
		/*  //输出下列图形                i               j          关系
		 *                                              
		 *       *                        1              1           j=2*i-1  
		 *       ***                      2              3         
		 *       *****                    3              5        
		 *       *******                  4              7       
		 *       *********                5              9              
		 *                  
		 */
		//两次for循环:
//		for(int i=1;i<6;i++){
//			for(int j=1;j<=2*i-1;j++){
//				System.out.print("*");
//			}
//		      System.out.println();
//		}
		
		
//		//for while循环一起使用
//		for(int i=1,j=1,y=1;i<=5;i++,j+=2,y=1){
//			
//			while(y<=j){
//				System.out.print("*");
//				y++;
//			}
//			System.out.println();
//		}
		
		
		// 输出 123
//		for(int i=1;i<=10;i++){
//			if(i%4==0){
//				break;
//			}else{
//				System.out.println(i);
//			}
//		}
		
		//输出1 2 3 5 6 7 9 10
//		for(int i=1;i<=10;i++){
//			if(i%4==0){
//				continue;
//			}else{
//				System.out.println(i);
//			}
//		}
		/*  打印图形:
		 *                      i   j      
		 *        ****          1   8    3         
		 *       ****           2   7    2             
		 *      ****            3   6    1          
		 *     ****             4   5    0                             
		 *                    
		 *                    
		 *                    
		 */
//		for(int i=1;i<5;i++){
//			for(int j=3;j>=i;j--){
//				System.out.print(" ");
//			}
//			System.out.print("****");
//			System.out.println();
//		}
//		
//		for(int m=1;m<=4;m++){
//			for(int n=1;n<=8-m;n++){
//				if(n<=4-m){
//					System.out.print(" ");
//				} else{
//					System.out.print("*");
//				}
//				
//			}
//			System.out.println();
//		}
		/*   //
		 *                   i     j         空格
		 *      *            1     4          3                      
		 *     ***           2     5          2     
		 *    *****          3     6          1                                     
		 *   *******         4     7          0                                         
		 *    *****          1     6          1      
		 *     ***           2     5          2    
		 *      *            3     4          3                                 
		 */
		
//		for(int i=1;i<=4;i++){
//			for(int j=1;j<=i+3;j++){
//				if(j<=4-i){
//					System.out.print(" ");
//				}else
//					System.out.print("*");
//			}
//			System.out.println();
//		}
//		
//		for(int m=1;m<=3;m++){
//			for(int n=1;n<=7-m;n++){
//				if(n<=m){
//					System.out.print(" ");
//				}else
//					System.out.print("*");
//			}
//			System.out.println();
//		}
		
		
		
		
		//题目:求1+2!+3!+...+20!的和  
		//程序分析:此程序只是把累加变成了累乘。
		//  2*1  3*2*1
		
//		int num=0;
//		for(int i=1;i<=20;i++){
//			int sum=1;
//			for(int j=1;j<=i;j++){
//				sum*=j;
//				
//			}
//			num+=sum;
//		}
//		
//		System.out.print(num);
		
		
		
//		for(int i=1;i<=3;i++){
//			System.out.print("请输入密码:");
//			int num=input.nextInt();
//			if(num==111111){
//				while(true){
//				System.out.println("请输入取款金额:");
//				int j=input.nextInt();
//				if(j<1000 && j>0&& j%100==0){
//				System.out.println("您取了"+j+"元");
//					System.out.println("交易完成请取卡");
//					System.exit(0);
//				}else
//					System.out.println("金额错误,请重新输入");
//				}
//			}else
//				System.out.println("密码错误,请重新输入");
//			
//		}
//		System.out.print("输入超过次数,自动退出,请取卡");
		
		
		
		
		//题目:一个5位数,判断它是不是回文数。
		//即12321是回文数,个位与万位相同,十位与千位相同。
		
		
		
//		int i=10000;
//		int j=1;
//		while(i<100001){
//			int a=0,b=0,c=0,d=0,e=0;
//		
//			a=i/10000;   //12345----1
//			b=i%10;      //12345----5
//			c=i%100/10;  //12345----4
//		    d=i/1000%10; //12345----2
//		    if(a==b&&c==d){
//		    	System.out.println(i);
//		    }
//		  j++;
//		  if(j==10){
//			  System.out.println();
//			  j=1;
//		  }
//		i++;
//		}
		
		
		//题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,
		//又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
		//以后每天早上都吃了前一天剩下的一半零一个。
		//到第10天早上想再吃时,见只剩下一个桃子了。
		//求第一天共摘了多少。 程序分析:采取逆向思维的方法,从后往前推断。
		
		/*
		 * 1  1
		 * 2  1
		 * 3  2
		 * 4  3
		 * 5  5
		 * 6  8
		 * 7  13
		 * 
		 */
		
		
		//斐波那契数列
//		int num1=1;
//		int num2=1;
//		int num=0;
//		System.out.println(1);
//		System.out.println(1);
//		for(int i=1;i<=100;i++){
//			num=num1+num2;       //
//			num2=num1;           //
//			num1=num;            //
//			if(num>100){
//				break;
//			}else
//			System.out.println(num);
//		}
		
		
		
		//题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,
		//又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
		//以后每天早上都吃了前一天剩下的一半零一个。
		//到第10天早上想再吃时,见只剩下一个桃子了。
		//求第一天共摘了多少。 程序分析:采取逆向思维的方法,从后往前推断。
		
		/*
		 * 1  1
		 * 2  1
		 * 3  2
		 * 4  3
		 * 5  5
		 * 6  8
		 * 7  13
		 * 
		 */
//		int num=1;
//		for(int i=1;i<=9;i++){
//			num=2*(num+1);
//		}
//		System.out.print(num);
		
		
		
		
		
		/*   //
		 *                   i     j         空格    lk
		 *      *            1     4          3       0               
		 *     * *           2     5          2       1
		 *    *   *          3     6          1       3                             
		 *   *     *         4     7          0       5                                
		 *    *   *          1     6          1      
		 *     * *           2     5          2    
		 *      *            3     4          3  
		 *      
		 *                                       
		 *       参照   课堂笔记  分析       jereh4.txt                    
		 */
		
//		for(int i=1;i<=4;i++){
//			for(int j=1;j<=i+3;j++){
//				if(j==5-i||j-i==3){
//					System.out.print("*");
//				}else 
//					System.out.print(" ");
//				
//			}
//			System.out.println();
//		}
//		for(int i=1;i<=3;i++){
//			for(int j=1;j<=7-i;j++){
//				if(j==i+1||j+i==7){
//					System.out.print("*");
//				}else 
//					System.out.print(" ");
//				
//			}
//			System.out.println();
//		}
		
		
		
		
		
//		for(int i=1;i<=7;i++){
//			if(i>4){
//				i=8-i;
//				for(int j=1;j<=i+6;j++){
//					if(j==5-i||j-i==3){
//						System.out.print("*");
//					}else 
//						System.out.print(" ");
//					
//				}
//			  i=8-i;
//			}else {
//				for(int j=1;j<=i+3;j++){
//				if(j==5-i||j-i==3){
//					System.out.print("*");
//				}else 
//					System.out.print(" ");
//				
//			  }
//				
//			}
//				
//			
//			System.out.println();
//			
//		   
//			
//	      }
		
		
		//屌屌
//		for(int i=1;i<=7;i++){
//			
//			for(int j=1;j<=7;j++){
//				if(Math.abs(j-4)+1 == i ||Math.abs(j-4)+i==7){
//					System.out.print("*");
//				}else
//;					System.out.print(" ");
//			}
//		}
//		System.out.println();
		
		
		
		
		
		
		//m--4,w--3,x---1/2
		//三十六个人,搬三十六块砖,男搬四,女搬三,小孩两人搬一块
		//问:男人搬几块,女人搬几块,小孩搬几块
		for(int i=3;i<=9;i++){
			for(int j=3;j<=12;j++){
				int n=36-i-j;
				if((4*i+3*j+n*0.5) ==36 && n%2==0){
					System.out.println("男人:"+i);
					System.out.println("女人"+j);
					System.out.println("小孩"+n);
				}
					
			}
		}
		
		
		
		
		
	}
		
		
		
	}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: