蓝桥杯2013年真题
package 真题;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
public class TEST2013 {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();//可用于1970年后操作日期用
for (int year = 1999; year < 10000; year+=100) {
calendar.set(Calendar.YEAR,year);
calendar.set(Calendar.MONTH,11);//12月 只有月份是0开始的,0对应1月
calendar.set(Calendar.DAY_OF_MONTH,31);
if(calendar.get(Calendar.DAY_OF_WEEK)==1){//1:星期天 2:星期一 外国人的第一天是星期天
System.out.println(year+" "+calendar.get(Calendar.DAY_OF_WEEK));
break;
}
}
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in)// int year = 1999;
int week = 4;//为了方便求模,0代表星期一,1999年12月31是星期五,初始化4
int[] data1 = new int[] {-1,31,28,31,30,31,30,31,31,30,31,30,31};
int[] data2 = new int[] {-1,31,29,31,30,31,30,31,31,30,31,30,31};//闰年天数
for(year=2000;year<=9999;year++) {
if((year%100!=0 && year%4==0) || year%400==0)
week = (week+366)%7;
else
week = (week+365)%7;
if(year%100==99)
System.out.println(year+" "+week);
}
}
//1.化为求斐波那契相邻两项的比值,到多少项?越多越精确,n/n+1项,n再往上增加,这个比值的小数点后101位是稳定的,也就是不变的
// 2.double无法表示100位小数,BigInteger和BigDecimal
public static void main(String[] args) {
BigInteger a=BigInteger.ONE;
BigInteger b=BigInteger.ONE;
System.out.println(a);
//斐波那契数列的迭代形式
for (int i = 3; i < 500; i++) {
BigInteger t=b;
b=a.add(b);//大整数的加法
a=t;
}
//大浮点数的除法
BigDecimal divide = new BigDecimal(a,110).divide(new BigDecimal(b,110), BigDecimal.ROUND_HALF_DOWN);
//截取字符串
System.out.println(divide.toPlainString().substring(0,103));
}
//0.6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911375
public static void main(String[] args) {
System.out.println(f(0,0));
}
public static int f(int i,int j) {
if(i==3||j==4) {
return 1;
}
return f(i+1,j)+f(i,j+1);
}
public static void main(String[] args) {
int x[]=new int []{25,18,-2,0,16,-5,33,21,0,19,-16,25,-3,0};
sort(x);
for(int i=0;i<x.length;i++) {
System.out.println(x[i]);
}
}
public static void sort(int[] x)
{
int p = 0;
int left = 0;
int right = x.length-1;
while(p<=right){
if(x[p]<0){
int t = x[left];
x[left] = x[p];
x[p] = t;
left++;
p++;
}
else if(x[p]>0){
int t = x[right];
x[right] = x[p];
x[p] = t;
right--;
}
else{
//x[ x.length/2]=0; //代码填空位置
p++;
}
}
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
List<Integer> list=new ArrayList<>();
sc.nextLine();
for(int i=0;i<num;i++) {
String s=sc.nextLine();
String str[]=s.split(" ");
for(int k=0;k<str.length;k++) {
list.add(Integer.parseInt(str[k]));
}
}
Collections.sort(list);
for(int i=1;i<list.size();i++) {
if(list.get(i)-list.get(i-1)==2) {
System.out.println(list.get(i-1)+1);
}
for(int k=i+1;k<list.size();k++) {
if(list.get(i).equals(list.get(k))) {
System.out.println(list.get(i));
}
}
}
public static void main(String[] args) {
StringBuilder s = new StringBuilder("abcdefghijklmnopqrs");
for(int i=1;i<=105;i++) {
s.append("abcdefghijklmnopqrs");//向字符串中添加106个19个字符串
}
while(s.length()>1) {
System.out.println(s.length());
StringBuilder s1 = new StringBuilder();
for(int i=1;i<s.length();i+=2)
s1.append(s.charAt(i));
s = s1;
}
System.out.println(s);
double x = 111;
for(int n = 10000; n>=0; n--){
int i = 2 * n + 1;
x = 2 + (i*i / x);
}
System.out.println(String.format("%.4f", 4.0/(x-1)));
public static void main(String[] args) {
// A/B x C/D = E/F A*C*F = E*B*D
int ans=0;
for(int a=1;a<10;a++)
for(int b=1;b<10;b++)
for(int c=1;c<10;c++)
for(int d=1;d<10;d++) {
int e = 10*a+c;
int f = 10*b+d;
if(a==b || c==d)
continue;
if(a*c*f==e*b*d) {
ans++;
System.out.println(a+"/"+b+" x "+c+"/"+d+" = "+e+"/"+f+" "+ans);
}
}
}
}