for循环题目记录

1.求1000以内的完数

/**
 * 一个数如果恰好等于它的因子之和,这个数就是完数,找出1000内的所有完数
 * @author	努力Coding
 * @version
 * @data
 */
public class PerfectNum {

	public static void main(String[] args) {
		System.out.print("1000以内的所有完数有:");
		for(int i = 2; i <= 1000; i++) {   //遍历1000以内的数
			int sum = 0;                   //因子之和
			for(int j = 1; j < i; j++) {  //其中因子不能是本身,所以j不能等于i
				if(i % j == 0) {          //如果是它的因子(即可以整除)
					sum += j;             //把因子求和
				}
			}
			if(sum == i) {                //因子之和等于这个数,就是完数,打印出来
				System.out.print(i + ",");
			}
		}
	}
}

2.打印99乘法表

/**
 * 打印99乘法表
 * @author    努力Coding
 * @version
 * @data	
 */
public class Multiplication {

	public static void main(String[] args) {
		for(int i = 0; i <= 9; i++) {       //行循环
			for(int j = 0; j <= i ; j++) {  //列循环
				System.out.print(i + "*" + j + "=" + i*j +"\t");//打印乘法表
			}
			System.out.println();//打印完一行后就换行
		}
	}
}

3.经典图形打印

package com.traincamp.forcycle;

/**
 * 镂空的长方形,打印空心的图形,其实就是判断极值问题
 * @author	努力Coding
 * @version
 * @data	
 */
public class StarPrintDemo {

	public static void main(String[] args) {
		//9行9列
		for(int i = 0; i < 9; i++) {
			for(int j = 0; j < 9; j++) {
				if(j == 0 || j == 8 || i == 0 || i == 8) {//第一行或最后一行,第一列或最后一列时打印*
					System.out.print("*");
				}else {
					System.out.print(" ");//否则打印空格
				}
			}
			System.out.println();
		}

	}

}


/*****************************************************************/
/**
 * 打印星号图形:空心的0
 * @author	努力Coding
 * @version
 * @data
 */
public class PicturePrint2 {

	public static void main(String[] args) {
		/*第一行的星号 */
		for(int i = 0; i < 1; i++) {
			for(int j = 0; j <= 2-i; j++) {
				System.out.print(" ");
			}
			for(int j = 0; j <= 2-i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		/*第二行的星号 */
		for(int i = 0; i < 1; i++) {
			for(int j = 0; j <= i; j++)
			{
				System.out.print(" ");
			}
			for(int j = 0; j <= i; j++) {
				System.out.print("*");
			}
			for(int j = 0; j <= 4-i; j++) {
				System.out.print(" ");
			}
			for(int j = 0; j <= i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		/*第三行-第九行的星号 */
		for(int i = 0; i < 7; i++) {
			for(int j = 0; j < 9; j++) {
				if(j == 0 || j == 8 ) {//第一列或最后一列时打印*
					System.out.print("*");
				}else {
					System.out.print(" ");//否则打印空格
				}
			}
			System.out.println();
		}
		
		/*倒数第二行的星号 */
		for(int i = 0; i < 1; i++) {
			for(int j = 0; j <= i; j++)
			{
				System.out.print(" ");
			}
			for(int j = 0; j <= i; j++) {
				System.out.print("*");
			}
			for(int j = 0; j <= 4-i; j++) {
				System.out.print(" ");
			}
			for(int j = 0; j <= i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		/*倒数第一行的星号 */
		for(int i = 0; i < 1; i++) {
			for(int j = 0; j <= 2-i; j++) {
				System.out.print(" ");
			}
			for(int j = 0; j <= 2-i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}

}

/*********************************************************************/
/**
 * 打印星号图形:一棵树
 * @author	努力Coding
 * @version
 * @data
 */
public class PicturePrint3 {

	public static void main(String[] args) {
		// 打印顶部的三角形
		for(int i = 0; i < 3; i++) {
			for(int j = 0; j <= 1-i; j++) {
				System.out.print(" ");
			}
			for(int j = 0; j <= 2*i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
		
		//打印最后一列的星号
		for(int i = 0; i < 7; i++) {
			for(int j = 0; j < 2; j++) {
				System.out.print(" ");
			}
			System.out.println("*");
		}
	}

}

4.买一只公鸡需5元,买一只母鸡需3元,买三只小鸡需1元,花100元买100只鸡有多少种买法

/**
 * 买一只公鸡需5元,买一只母鸡需3元,买三只小鸡需1元,花100元买100只鸡有多少种买法
 * @author    努力Coding 	
 * @version
 * @data
 */
public class BuyChicken {

	public static void main(String[] args) {
		for(int i = 0; i <= 100; i++) {//公鸡数
			for(int j = 0; j <= 100; j++) {//母鸡数
				for(int k = 0; k <= 100; k++) {//小鸡数
					if(i+j+k == 100 && (5*i+3*j+k/3) == 100 && k % 3 == 0) {
						System.out.println("公鸡" + i + "只,"+ "母鸡" + j + "只," + "小鸡" + k + "只");
					}
				}
			}
		}
	}
}
posted @ 2019-12-31 23:01  笔架山Code  阅读(205)  评论(0)    收藏  举报