个人主页:西红柿炒鸡蛋儿的博客
系列专栏:蓝桥杯试题讲解集
LeetCode试题讲解集
推荐一款模拟面试、刷题神器:点击跳转网站
package Example;
import java.util.Scanner;
/**
* 利用【^】进行x与y两个变量的值交换
*
*/
public class demo1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("x==");
int x = sc.nextInt();
System.out.print("y==");
int y = sc.nextInt();
x = x ^ y;
y = x ^ y;
x = x ^ y;
System.out.println("x="+ x + ";y=" + y);
}
}
小明期末考试,爸爸承诺如果小明考了:
1、100 - 95分奖励小明山地自行车一辆;
2、94 - 90分奖励小明到游乐园玩一天;
3、89 - 80分奖励变形金刚一个;
4、80分一下小明被胖揍一顿;
package Example;
import java.text.DecimalFormat;
/**
* 黄金分割
*1 3 4 7 11 18 29 47 .... 称为“鲁卡斯队列”。它后面的每一个项都是前边两项的和。
如果观察前后两项的比值,即:1/3,3/4,4/7,7/11,11/18 ... 会发现它越来越接近于黄金分割数!
你的任务就是计算出从哪一项开始,这个比值四舍五入后已经达到了与0.618034一致的精度。
请写出该比值。格式是:分子/分母。比如:29/47
*/
public class demo10 {
public static void main(String[] args) {
// TODO Auto-generated method stub
double x = 1;
double y = 3;
String finalVal = "0.618034";
String res = "0.33";
double temp = 0;
DecimalFormat df = new DecimalFormat("0.000000");
while(!finalVal.equals(res)) {
temp = x;
x = y;
y += temp;
temp = x/y;
res = df.format(temp);
}
System.out.println((int)x +"/"+(int)y);
}
}
package Example;
import java.util.Scanner;
/**
* 找出一个数的所有因数【通过Scanner输入这个数】
*/
public class demo3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
for(int i = 1; i <= num; i++) {
if(num % i == 0) {
System.out.println(i);
}
}
}
}
package Example;
import java.util.Scanner;
/**
* 输入一个数,判断这个数是否是素数(质数)【通过Scanner输入这个数】
*/
public class demo4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
boolean bool = true;
for(int i = 2; i < num; i++) {
if(num % i ==0) {
bool = false;
break;
}
}
if(bool) {
System.out.println(num + "是素数");
}else {
System.out.println(num + "不是素数");
}
}
}
package Example;
/**
* 有1020个西瓜,第一天卖掉总数的一半后又多卖出两个,
* 以后每天卖剩下的一半多两个,问几天以后能卖完?
*/
public class demo5 {
public static void main(String[] args) {
int sum = 1020;
int day = 0;
while(sum != 0) {
sum = (sum / 2) - 2;
day++;
}
System.out.println(day);
}
}
斐波那契数列又称 黄金分割 数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“ 兔子数列 ”;
* 指的是这样一个数列:1、1、2、3、5、8、13、21、34、55……
* 其规律是从第3个数开始,每个数都等于它前两个数的和。
package Example;
/**
* 写出斐波那契数列,输出前10位
* 指的是这样一个数列:1、1、2、3、5、8、13、21、34、55……
* 其规律是从第3个数开始,每个数都等于它前两个数的和。
*/
public class demo6 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a = 1;
int b = 1;
System.out.println(a);
System.out.println(b);
int num = 0;
int i = 3;
while(i <= 10) {
num = a + b;
System.out.println(num);
a = b;
b = num;
i++;
}
}
}
大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,要用100匹马,驮100石粮食,该如何调配?
package Example;
/**
* 大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,
* 要用100匹马,驮100石粮食,该如何调配?
*/
public class demo7 {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int a = 0; a <= 50; a++) {
for(int b = 0;b <= 100; b++) {
for(int c = 0; c <= 200; c++) {
if(a + b + c == 100 && a * 2 + b + c * 0.5 == 100) {
System.out.print("大马=" + a + " ");
System.out.print("中马=" + b + " ");
System.out.print("小马=" + c + " ");
System.out.println("\t");
}
}
}
}
}
}
package Example;
import java.util.Random;
/*
* 写出冒泡排序,数组随机生成10个数进行排序即可。
*/
public class demo8 {
public static void main(String[] args) {
Random rd = new Random();
int[] nums = new int[10];
for(int i = 0; i < nums.length; i++) {
nums[i] = rd.nextInt();
}
for(int a = 0; a < nums.length; a++) {
for(int b = a+1; b < nums.length; b++) {
if(nums[a] > nums[b]) {
int temp;
temp = nums[b];
nums[b] = nums[a];
nums[a] = temp;
}
}
}
for(int c = 0; c < nums.length; c++) {
System.out.println(nums[c]);
}
}
}
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
package Example;
/**
* 9、打印菱形
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
*/
public class demo9 {
public static void main(String[] args) {
//打印上半部分(上半部分5行)
for(int i = 0; i < 5; i++) {
//打印左上角的空白部分
for(int j = 5; j > i+1; j--) {
System.out.print(" ");
}
//打印*
for(int j = 0; j < 2*i+1; j++) {
System.out.print("*");
}
System.out.println();
}
//打印下半部分(下半部分4行)
for(int i = 0; i < 4; i++) {
//打印空白部分
for(int j =0; j< i+1; j++) {
System.out.print(" ");
}
//打印*
for(int j = 0; j < 2 *(4-i) -1;j++) {
System.out.print("*");
}
System.out.println();
}
}
}
黄金分割数0.618与美学有重要的关系。舞台上报幕员所站的位置大约就是舞台宽度的0.618处,
墙上的画像一般也挂在房间高度的0.618处,甚至股票的波动据说也能找到0.618的影子....
黄金分割数是个无理数,也就是无法表示为两个整数的比值。
0.618只是它的近似值,其真值可以通过对5开方减去1再除以2来获得,
我们取它的一个较精确的近似值:0.618034
有趣的是,一些简单的数列中也会包含这个无理数,这很令数学家震惊!
1 3 4 7 11 18 29 47 .... 称为“鲁卡斯队列”。它后面的每一个项都是前边两项的和。
如果观察前后两项的比值,即:1/3,3/4,4/7,7/11,11/18 ... 会发现它越来越接近于黄金分割数!
你的任务就是计算出从哪一项开始,这个比值四舍五入后已经达到了与0.618034一致的精度。
请写出该比值。格式是:分子/分母。比如:29/47
package Example;
import java.text.DecimalFormat;
/**
* 黄金分割
*1 3 4 7 11 18 29 47 .... 称为“鲁卡斯队列”。它后面的每一个项都是前边两项的和。
如果观察前后两项的比值,即:1/3,3/4,4/7,7/11,11/18 ... 会发现它越来越接近于黄金分割数!
你的任务就是计算出从哪一项开始,这个比值四舍五入后已经达到了与0.618034一致的精度。
请写出该比值。格式是:分子/分母。比如:29/47
*/
public class demo10 {
public static void main(String[] args) {
// TODO Auto-generated method stub
double x = 1;
double y = 3;
String finalVal = "0.618034";
String res = "0.33";
double temp = 0;
DecimalFormat df = new DecimalFormat("0.000000");
while(!finalVal.equals(res)) {
temp = x;
x = y;
y += temp;
temp = x/y;
res = df.format(temp);
}
System.out.println((int)x +"/"+(int)y);
}
}