demo1 切正方形
-
demo1题目:
小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形。当他面对一块矩形材料时,他总是从间切割一刀,切出一块最大的正方形,剩下一块矩形,然后再切割剩下的矩形材料,直到全部切为正方形为止。例如,对于一块两边分别为5和3的材料(记为5×3),小明会依次切出3×3、2×2、1×1、1×1共4个正方形。
现在小明有一块矩形的材料,两边长分别是2019和324。请问小明最终会切出多少个正方形? -
demo1实现:
int x = 2019;
int y = 324;
int sum = 0;
while (true) {
if(x>y) {
x -= y;
sum++;
}
if(y>x) {
y -= x;
sum++;
}
if(x==y) {
sum++;
break;
}
}
System.out.println("切出多少个长方形:"+sum);
//21
demo2 1!+…+2023!
demo2题目:
1!+…+2023!
demo2实现:
//1!+...+2023!
long sum=0;
long jieCheng=0;
//相加
for(int i=1; i<2024; i++) {
//阶乘
for(int j=1; j<i; j++) {
jieCheng=j*i;
}
sum+=jieCheng;
}
System.out.println("sum:"+sum);
//...
demo3 1!-2!+3!-…-2022!+2023!
demo3题目:
1!+…+2023!
demo3实现:
// 1!-2!+3!+....-(n-1)!+n!
long jc = 0;
long sum = 0;
//相加
for(int i=1; i<2024; i++) {
//阶乘
for(int j=1; j<i; j++) {
jc = j*i;
}
if(i%2==1) {
sum+=jc;
}else if (i%2==0) {
sum-=jc;
}
}
System.out.println("sum:"+sum);