P1423
方法一:
import java.util.Scanner;
public class Main {
public static void main(String[]args) {
Scanner cin=new Scanner(System.in);
double a=cin.nextDouble();
int b = 1;
double sum=0;
while(!(a<sum)) {//当目标距离大于所定义的和0时
sum=sum+2*Math.pow(0.98, b-1);
b++;
}
System.out.println(b-1);
}
}
方法二:
import java.util.*;
public class Main {
public static void main(String[]args) {
Scanner cin=new Scanner(System.in);
double x=cin.nextDouble();
double num=2.0;//第一步的距离
double n=0;
int f = 0;
for (int i = 0; x > n; i++) {
n = n + num;//所游距离的总和
num = num * 0.98;//上一步的0.98
f++;//步数之和
}
System.out.println(f);
}
}
P1307
import java.util.Scanner;
import java.util.*;
public class Main {
public static void main(String[]args) {
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();//输入的数字
String str=n+"";//
StringBuffer s=new StringBuffer(str);
//reverse为对字符进行倒置,反转
StringBuffer ss=s.reverse();
if(n<0) {
ss.delete(ss.length()-1,ss.length());
ss.insert(0,"-");
}
String string=ss.toString();
int da=Integer.parseInt(string);
System.out.print(da);
}
}
P1420
方法一:
//import java.util.*;
//import java.util.Scanner;
//public class Main {
// public static void main(String[]args) {
// Scanner cin=new Scanner(System.in);
// int n=cin.nextInt();//n个数字
// int []arr=new int [n];//定义数组
// int a=1;
// int c=0;
// for(int i=0;i<n;i++) {//将数据赋值存入数组
// arr[i]=cin.nextInt();
// }
// for(int i=0;i<arr.length-1;i++) {//根据数组的长度来进行判断
// if(arr[i+1]-arr[i]==1) {//连号的条件 减值为1
// a++;//连号个数
// }else {//不连号时,最小为1
// a=1;
// }
// if(a>c) {//进行对C的赋值
// c=a;
// }
// }
// System.out.println(c);
// }
//}
方法二:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int n=cin.nextInt();
int[]arr=new int[n];//建立数组
for(int i=0;i<n;i++) {
arr[i]=cin.nextInt();//存入数据
}
int a=1,max=1;
for(int i=n-1;i>0;i--) {//从大到小判断
if(arr[i]-arr[i-1]==1) {
a++;
if(a>max) {
max=a;
}
}else {
a=1;
}
}
System.out.print(max);
}
}
P1075
import java.util.Scanner;
public class Main {
public static void main(String[]args) {
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();//输入数字
//循环中n不变,a是一直在累增的,不断判断,而a的增加也保证了最后输出的是最大值
for(int a=2;a<=n;a++) {
if(n%a==0) {//剩下的数恒为0,则代表为整除
System.out.print(n/a);//输出上面的因数
break;
}
}
}
}
import java.util.*;//?
public class C3 {
public static void main(String[]args) {
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();
for(int i=2;i<n;i++) {
if(n%i==0&&zs(i)&&zs(n/i)) {
System.out.print(n/i);
return;
}
}
}
public static boolean zs(int m) {
for(int i=2;i<=(int)Math.sqrt(m);i++) {
if(m%i==0) {
return false;
}
}
return true;
}
}
P5725
import java.util.*;
public class Main {
public static void main(String[]args) {
Scanner cin=new Scanner(System.in);
int n=cin.nextInt();
int count1 = 1,count2=1,num = 0;
for(int i=0;i<n;i++) {//输出正方形内容 控制行
for(int j=0;j<n;j++) {//控制列
if (count1 < 10) {//数字小于10时
System.out.print("0" + count1);
count1++;
}else {
System.out.print(count1);
count1++;
}
}
System.out.print("\n");
}
System.out.print("\n");
for (int i = 0; i < n; i++) {//行的增加
for (int j = n-num-2; j >=0; j--) {//列从下往上不断减小,一次两个位置
System.out.print(" ");
}
for (int j = 0; j <=num; j++) {
if (count2 < 10) {
System.out.print("0" + count2);
count2++;
}else {
System.out.print(count2);
count2++;
}
}
num++;
System.out.println();
}
}
}