目录
一、基础数据
1、斐波那契数列
2、水仙花数
3、大马驮粮食
4、过路口
5、叠纸
二、图形文打印
1、打印正方形
2、左直角三角形
3、右直角三角形
4、等腰三角形
5、倒左直角三角形
6、倒右直角三角形
7、菱形
8、杨辉三角
9、九九乘法表(直角四个方向)
一、基础数据
1、斐波那契数列
代码语言:javascript复制斐波那契数列又称 黄金分割 数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“ 兔子数列 ”; * 指的是这样一个数列:1、1、2、3、5、8、13、21、34、…… * 其规律是从第3个数开始,每个数都等于它前两个数的和。
package Action;
public class demos {
public static void main(String[] args) {
int month=10;
int x=0;//从0开始计算
int y=1;
int z=1;
System.out.println(y);//第一个月
for(int i=1;i<month;i ) {
z=x y;
x=y;
y=z;
System.out.println(z);
}
}
}
2、水仙花数
代码语言:javascript复制输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身
package Action;
public class demos {
public static void main(String[] args) {
// 使用循环得遍历所有三位数
for (int i = 100; i < 1000; i ) {
// 分别定义三个变量获取该数的个、十、百位。
int a = i % 10;
int b = i / 10 % 10;
int c = i / 100;
// 判断该数是否为水仙花数
if (a * a * a b * b * b c * c * c == i) {
System.out.println(i "是一个水仙花数");
}
}
}
}
153是一个水仙花数 370是一个水仙花数 371是一个水仙花数 407是一个水仙花数
3、大马驮粮食
代码语言:javascript复制大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,要用100匹马,驮100石粮食,该如何调配?
package Action;
public class demos {
public static void main(String[] args) {
for (int a = 0; a <= 50; a ) {
for (int b = 0; b <= 100; b ) {
for (int c = 0; c <= 100; c ) {
if (a b c == 100 && 2 * a 1 * b 0.5 * c == 100) {
System.out.println("大马" a "中马" b "小马" c);
}
}
}
}
}
}
大马0中马100小马0 大马1中马97小马2 大马2中马94小马4 大马3中马91小马6 大马4中马88小马8 大马5中马85小马10 大马6中马82小马12 大马7中马79小马14 大马8中马76小马16 大马9中马73小马18 大马10中马70小马20 大马11中马67小马22 大马12中马64小马24 大马13中马61小马26 大马14中马58小马28 大马15中马55小马30 大马16中马52小马32 大马17中马49小马34 大马18中马46小马36 大马19中马43小马38 大马20中马40小马40 大马21中马37小马42 大马22中马34小马44 大马23中马31小马46 大马24中马28小马48 大马25中马25小马50 大马26中马22小马52 大马27中马19小马54 大马28中马16小马56 大马29中马13小马58 大马30中马10小马60 大马31中马7小马62 大马32中马4小马64 大马33中马1小马66
4、过路口
代码语言:javascript复制假设某人有100,000现金.每经过一次路口需要进行一次交费. 交费规则为当他现金大于50,000时每次需要交5%如果现金小于等于50,000时每次交5,000.请写一程序计算此人可以经过多少次这个路口。
package Action;
public class demos {
public static void main(String[] args) {
double money = 100000;
int count = 0;
while (money >= 5000) {
if (money > 50000) {
money -= money * 0.05;
} else {
money -= 5000;
}
count ;
}
System.out.println(count);
System.out.println(money);
}
}
23 3767.497911552986
5、叠纸
代码语言:javascript复制一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
package Action;
public class demos {
public static void main(String[] args) {
double len=0.08/1000;//mm换算成m
double maxLen=8848.13;
int count=0;
while (true) {
len*=2;
count ;
if(len>=maxLen) {
break;
}
}
System.out.println(count);
}
}
二、图形文打印
1、打印正方形
* * * * * * * * * * * * * * * * * * * * * * * * *
代码语言:javascript复制package Action;
public class demos {
public static void main(String[] args) {
for(int i=0;i<5;i ) {//外循环
for(int j=0;j<5;j ) {//内循环
System.out.print("* ");//内循环执行一次,打印一个*
}
System.out.println();//换行
}
}
}
2、左直角三角形
* * * * * * * * * * * * * * *
代码语言:javascript复制package Action;
public class demos {
public static void main(String[] args) {
for(int i=1;i<=5;i ) {
for(int j=0;j<i;j ) {
System.out.print("*");
}
System.out.print("n");
}
}
}
3、右直角三角形
* * * * * * * * * * * * * * *
代码语言:javascript复制package Action;
public class demos {
public static void main(String[] args) {
for(int i=1;i<=5;i ){
for(int j=5;j>i;j--){//空格三角
System.out.print(" ");
}
for(int k=0;k<i;k ){//星号三角
System.out.print("*");
}
System.out.print("n");
}
}
}
4、等腰三角形
* * * * * * * * * * * * * * * * * * * * * * * * *
代码语言:javascript复制package Action;
public class demos {
public static void main(String[] args) {
for (int i = 1; i <= 5; i ) {
for (int k = 5; k > i; k--) {
System.out.print(" ");
}
for (int j = 0; j < 2 * i - 1; j ) {
System.out.print("*");
}
System.out.print("n");
}
}
}
5、倒左直角三角形
* * * * * * * * * * * * * * *
代码语言:javascript复制package Action;
public class demos {
public static void main(String[] args) {
for(int i=0;i<5;i ) {
for(int j=5;j>i;j--) {
System.out.print("*");
}
System.out.print("n");
}
}
}
6、倒右直角三角形
* * * * * * * * * * * * * * *
代码语言:javascript复制package Action;
public class demos {
public static void main(String[] args) {
for(int i=0;i<5;i ) {
for(int k=0;k<i;k ){
System.out.print(" ");
}
for(int j=5;j>i;j--) {
System.out.print("*");
}
System.out.print("n");
}
}
}
7、菱形
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
代码语言:javascript复制package Action;
public class demos {
public static void main(String[] args) {
for (int i = 1; i <= 5; i ) {
for (int k = 5; k > i; k--) {
System.out.print(" ");
}
for (int j = 0; j < 2 * i - 1; j ) {
System.out.print("*");
}
System.out.print("n");
}
for (int i = 5; i > 0; i--) {
for (int k = 5; k >= i; k--) {
System.out.print(" ");
}
for (int j = 2 * i - 3; j > 0; j--) {
System.out.print("*");
}
System.out.print("n");
}
}
}
8、杨辉三角
代码语言:javascript复制1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 … … … … 杨辉三角的两个腰边的数都是 1,从第3行起,除第一个数和最后一个数外,其它位置的数都是上顶上两个数之和。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你想打印多少行:");
int n=sc.nextInt();
getTriangle(n);
}
public static int[][] getTriangle(int n){
int[][] arr=new int[n][n]; //创建二维数组行列数都为n
for (int i = 0; i <arr.length ; i ) {
for(int j=0;j<=i;j ){
if(i==0||j==0||i==j){ //判断如果行数、列数为1,或行列数相等
arr[i][j]=1; //则赋值1
}else{ //否则,其他位置的值 = 上一行前一列的值 上一行这一列的值
arr[i][j]=arr[i-1][j-1] arr[i-1][j];
}
}
}
//便利二维数组
for(int i=0;i<arr.length;i ){
for(int j=0;j<=i;j ){
System.out.print(arr[i][j] "t");
}
System.out.println();
}
return arr;
}
9、九九乘法表(直角四个方向)
代码语言:javascript复制package Action;
public class demos {
public static void main(String[] args) {
// 左下角直角
for (int i = 1; i <= 9; i ) {
for (int j = 1; j <= i; j ) {
System.out.print(j "*" i "=" i * j " ");
}
System.out.print("n");// 换行
}
// 左上角直角
for (int i = 9; i >= 1; i--) {
for (int j = 1; j <= i; j ) {
System.out.print(j "*" i "=" i * j " ");
}
System.out.print("n");
}
// 右下角直角
for (int i = 1; i <= 9; i ) {// 控制行
// 用来控制每行空格的数量
for (int k = 1; k <= 9 - i; k ) {
System.out.print("t");
}
for (int j = 1; j <= i; j ) {// 控制列
System.out.print(j "*" i "=" (i * j) "t");
}
System.out.println();
}
// 右上角直角
for (int i = 9; i >= 1; i--) {
for (int k = 1; k <= 9 - i; k ) {
System.out.print("t");
}
for (int j = 1; j <= i; j ) {
System.out.print(j "*" i "=" (i * j) "t");
}
System.out.println();
}
}
}
刷题的时候要注意细致很重要。