洛谷入门3(3)

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();
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值