小言_互联网的博客

JAVA基础(第10天 作业)

377人阅读  评论(0)

1.实现双色球彩票随机出号,六个红球,一个篮球。并顺序输出 6个数需要随机且不能重复,所以需要实现思路
第一步:按数组元素个数,随机生成放入
第二步:修改放入的规则,根据条件放入
第三步:解决条件判断获取问题
双色球
六个红球(1-33)同一注中不能重复
一个蓝球(1-16)
写出出球算法


package Zuoye_package;

import java.util.Arrays;
import java.util.Random;

public class Zuoye1 {
	public static void main(String[] args) {
		int arrhong[] = new int[7];
		chromosphere(arrhong);
		int arrlan[] = new int[1];
	}

	public static void chromosphere(int[] arr) {
		Random random = new Random();
		for (int i = 0; i < arr.length; i++) {
			if (i <= arr.length - 2) {
				arr[i] = 1 + random.nextInt(33);
				for (int j = 0; j < i; j++) {
					if (arr[i] == arr[j]) {
						System.out.println("第" + (i + 1) + "个元素重复" + arr[i]);
						arr[i] = 1 + random.nextInt(33);
						System.out.println("修改后的值为:" + arr[i]);
					}

				}
			} else {
				arr[i] = 1 + random.nextInt(16);
				System.out.println("最后一个元素输出为" + arr[i]);
			}
		}

		System.out.println("双色球出号为7个数字:" + Arrays.toString(arr));
	}
}


2.题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前 20 项之和。程序分析:请抓住分子与分母的变化规律。


package Zuoye_package;

public class Zuoye2 {
	public static void main(String[] args) {

		int mole = 2;
		int deno = 1;
		int sum = 0;
		for (int i = 0; i < 20; i++) {
			sum += mole / deno;
			System.out.println("分子" + mole + " " + "分母" + deno);

			mole = deno + mole;
			deno = mole - deno;
		}
		System.out.println("前20项之和为:" + sum);
	}
}


3.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。


package Zuoye_package;

public class Zuoye3 {
	public static void main(String[] args) {
		int peach=1534 ;
		for(int i=0;i<9;i++) {
			peach = peach/2-1;
		}
		System.out.println("猴子最后一天摘的桃有"+peach+"个");
		int peach1=1 ;
		for(int i=0;i<9;i++) {
			peach = (peach+1)*2;
		}
		System.out.println("猴子第一天摘的桃有"+peach+"个");
	}
}


4.一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如 6=1+2+3.编程找出 1000 以内的所有完数。


package Zuoye_package;

public class Zuoye4 {
	public static void main(String[] args) {
		int fact;
		for (int i = 2; i < 1000; i++) {
			int sum = 0;
			for (int j = 1; j <= i; j++) {
				if (i % j != 0) {
					continue;
				} else {

					sum += j;
					if (sum == i) {
						System.out.println(sum);
					}
				}
			}
		}

	}
}


5.古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?


package Zuoye_package;

public class Zuoye5 {
	public static void main(String[] args) {
		//斐波拉契数列
		int rabbit = 1;
		int rabbit1 = rabbit;
		for(int i = 0;i<12;i++) {
			System.out.println("第"+(i+1)+"个月 兔子的数量为:"+rabbit);
			rabbit1 +=rabbit;
			rabbit = rabbit1 - rabbit;
		}
		
	}
}



转载:https://blog.csdn.net/qq_44102678/article/details/101990988
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场