✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨
🎈🎈作者主页: 🎈丠丠64-CSDN博客🎈
✨✨ 帅哥美女们,我们共同加油!一起进步!✨✨
目录
一、等比数列求和
题目
思路
解题
二、判断输入
题目
思路
解题
三、小球落地
题目
思路
解题
四、判断是否为质数
题目
思路
解题
五、计算整数的个数
题目
思路
解题
一、等比数列求和
题目
思路
应该数列首先确定一个初始的基数,根据规律(从第二项开始,后一项是前一项的10倍+9)得出得到每一个等比数列的值同时相加
解题
public class Main {
public static void main(String[] args) {
//定义基数为9,sum和也从9开始
long sum = 9;
long base = 9;
//9999999999十个数字 ———》 9999999990 + 9
for(int i = 1;i < 10;i++){
//从第二项开始求每一项值
base = base*10+9;
//从第二项开始求和
sum += base;
}
System.out.println(sum);
}
}
二、判断输入
题目
思路
判断输入的值为需要的值,第一要判断控制台是否接受指定在整形,再判断是否为正数,满足两个条件即次数加一
解题
import java.util.*;
public class Main {
public static void main(String[] args) {
int count = 0;
Scanner scanner = new Scanner(System.in);
while(true){
//判断是否为整数判断,不是整数返回false,因为有!,不是整数即为true进入break跳出
if(!scanner.hasNextInt()){
break;
}
//判断是否为正数,不是正数返回true,进去break跳出
if(scanner.nextInt() <= 0){
break;
}
//满足条件 count次数加一计数
count++;
}
scan.close();
System.out.println(count);
}
}
三、小球落地
题目
思路
每一次小球落下都会弹起来,最后一次只落不弹,第n次落地算是第n - 1次弹起
解题
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
float h=scanner.nextFloat();
int n =scanner.nextInt();
float reb = 0;
for(int i = n;i > 0;i--){
//初始小球落下高度
reb += h;
//每次弹起一半高度
h /= 2;
//若最后一次弹起直接输出结束
if(i == 1){
System.out.println(String.format("%.3f", h)+" "+String.format("%.3f", reb));
}
//若不是最后一次输出则需要加上弹起高度
reb += h;
}
}
}
四、判断是否为质数
题目
思路
判断质数,质数只能被它本身和一所除尽,题目中说大于1,所以利用for循环,找出能将其自身除尽的整数,看看是否为自己本身,是自己本身则为质数,反之则不是
解题
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Main main = new Main();
Scanner scan = new Scanner(System.in);
int number = scan.nextInt();
System.out.println(main.isPrimeNumber(number));
scan.close();
}
public Boolean isPrimeNumber(int number) {
int i = 2;
//从2开始试 , 当number % i == 0时,说明被除尽退出循环
for(;number%i!=0;i++);
//进行判断
return i == number ? true : false;
}
}
五、计算整数的个数
题目
思路
先将负数和0的特殊情况处理了,然后两种思路,一种是除10来得到每一位,一种是将数字变为字符串,然后使用length方法求出字符串的长度
解题
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
int count = 1;
scan.close();
1.常规方法
//如果小于等于0,直接输出
if(num<=0){
System.out.println(num);
}
//记录整数位数
int cnt=0;
while(num>0){
//每消耗一个位置,位数加一
cnt++;
num/=10;
}
System.out.println(cnt);
2.转化为字符串
//0和负数的情况
if(num <= 0){
System.out.println(num);
}else{
System.out.println((num + "").length());
}
}
}
每日五道经典题哦,循序渐进,关注我一起刷题!!