简单的算法逻辑题

杨辉三角

一维数组打印杨辉三角

package com.*****;

import java.util.Arrays;
import java.util.Scanner;

//一维数组实现杨辉三角
//1           int[] a={1};
//1 1         int[] b={a.length+1}; b[0]=1;b[b.length-1]=1;
//1 2 1       int[] c={b.length+1}; c[i]=b[i]+b[i-1];
//1 3 3 1
//1 4 6 4 1
public class Yhui {
	//思路:创建一个一维数组int[] a={1};
	//创建数组,下一层是上一层的长度+1
	//下层的数值是上一层对应位置的数值加上它左边的数
	public int[] yanghui(int[] a)
	{
		int[] arr1=new int[a.length+1];//下一层是上一层的长度加一
		arr1[0]=1;
		arr1[arr1.length-1]=1;
		for(int i=1;i

二维数组打印杨辉三角

package com.review;

import java.util.Random;

//二维数组实现杨辉三角
//思路:
//1.首先创建一个二维数组
//2.将二维数组中的所有边界位置均设值为1
//3.然后根据杨辉三角的特性计算其他位置的值,并记录
public class Yhui{
	public static void main(String[] args) {
		int line=8;
		int[][] arr=new int[line][line];
		for(int i=0;i

约瑟夫环(死亡游戏)

package com.****;

import java.util.Arrays;

//约瑟夫环死亡游戏
public class Game{
	//游戏规则:每个人轮流说一个数字,如果是3的倍数则死亡,直到最后只剩下一个人活着为止
	//思路:
	//1.首先创建一个数组,用来存储人的存活状态
	//2.开始游戏,每个人依次说一个数,说到3的倍数的人将状态改为死亡
	//3.直到只剩下一个人,结束游戏
	
	public static void main(String[] args) {
		boolean[] person =new boolean[5];
		Arrays.fill(person, true);//状态全为存活
//		开始游戏
		int alive=person.length;//起始状态全部存活
		int num=1;
		while(alive>1)//结束游戏的条件,只能剩下一个人
		{
			for(int i=0;i

 

 

你可能感兴趣的:(简单的算法逻辑题)