(做的時(shí)候忘記小題截圖了,沒有題目,個(gè)人答案,可能會(huì)有問題)
1. 108
2.608
public class Main_2 {
public static void main(String[] args) {
int x=1;
for (int i=1;i<=2023;i++){
if(x*2<1000){
x*=2;
System.out.println("第"+i+"次"+x);
}else {
x=(x*2)%1000;
System.out.println("第"+i+"次"+x);
}
}
}
}
3.4169
public class Main_3 {
public static void main(String[] args) {
int cnt=1;
for(int i=1;i<=10000;i++){
int c1=i;
int c2=i;
int sum1=0;
int sum2=0;
while(c1/2!=0){
sum1+=c1%2;
c1/=2;
}
sum1+=c1;
while(c2/8!=0){
sum2+=c2%8;
c2/=8;
}
sum2+=c2;
if(sum2==sum1){
if(cnt==23){
System.out.println("第"+cnt+"次"+i);
}
cnt++;
}
}
}
}
4.901440
public class Main_4 {
public static void main(String[] args) {
String s="393353 901440 123481 850930 423154 240461 373746 232926 396677 486579 744860 468782 941389 777714 992588 343292 385198 876426 483857 241899 544851 647930 772403 109929 882745 372491 877710 340000 659788 658675 296521 491295 609764 718967 842000 670302";
String[] n=s.split(" ");
int ans=-1;
int result=0;
for (int i=0;i<n.length;i++){
int x=Integer.parseInt(n[i]);
int cnt=0;
for(int j=1;j<=x;j++){
if(x%j==0)
cnt++;
}
if(cnt>ans){
ans=cnt;//約數(shù)個(gè)數(shù)
result=x;//答案
}
}
System.out.println(result);
}
}
5.541(有問題,看錯(cuò)題目了)
import java.util.LinkedList;
import java.util.Queue;
public class Main_5 {
static String[] op;
static char[][] str = new char[40][];
static int[] dx={-1,0,1,0};
static int[] dy={0,1,0,-1};
static int n=30;
static int m=40;
static void bfs(){
Queue<int[]>queue=new LinkedList<>();
queue.add(new int[]{0,0});
while (!queue.isEmpty()){
int[] t= queue.poll();
for(int i=0;i<4;i++){
int x=t[0]+dx[i];
int y=t[1]+dy[i];
if(x>=0&&x<n&&y>=0&&y<m&&str[x][y]=='0'){
str[x][y]='2';
queue.add(new int[]{x,y});
}
}
}
}
public static void main(String[] args) {
String s="0000100010000001101010101001001100000011\n" +
"0101111001111101110111100000101010011111\n" +
"1000010000011101010110000000001011010100\n" +
"0110101010110000000101100100000101001001\n" +
"0000011010100000111111001101100010101001\n" +
"0110000110000000110100000000010010100011\n" +
"0100110010000110000000100010000101110000\n" +
"0010011010100110001111001101100110100010\n" +
"1111000111101000001110010001001011101101\n" +
"0011110100011000000001101001101110100001\n" +
"0000000101011000010011111001010011011100\n" +
"0000100000011001000100101000111011101100\n" +
"0010110000001000001010100011000010100011\n" +
"0110110000100011011010011010001101011011\n" +
"0000100100000001010000101100000000000010\n" +
"0011001000001000000010011001100101000110\n" +
"1110101000011000000100011001001100111010\n" +
"0000100100111000001101001000001010010001\n" +
"0100010010000110100001100000110111110101\n" +
"1000001001100010011001111101011001110001\n" +
"0000000010100101000000111100110010101101\n" +
"0010110101001100000100000010000010110011\n" +
"0000011101001001000111011000100111010100\n" +
"0010001100100000011000101011000000010101\n" +
"1001111010010110011010101110000000101110\n" +
"0110011101000010100001000101001001100010\n" +
"1101000000010010011001000100110010000101\n" +
"1001100010100010000100000101111111111100\n" +
"1001011010101100001000000011000110110000\n" +
"0011000100011000010111101000101110110001";
op=s.split("\n");
for(int i=0;i< op.length;i++){
str[i]=op[i].toCharArray();
}
bfs();
int cnt=0;
for(int i=0;i<30;i++){
for(int j=0;j<40;j++){
if(str[i][j]=='2')
cnt++;
}
}
System.out.println(cnt);
}
}
6.
問題描述
給定一個(gè)正好六位的正整數(shù) x,請(qǐng)將 x 循環(huán)左移一位后輸出。
所謂循環(huán)左移一位,是指將原來的十萬位變?yōu)閭€(gè)位,原來的萬位到個(gè)位向左移動(dòng)依次變?yōu)槭f位到十位。
例如:194910 左移一位變?yōu)?949101 。
又如:987123 左移一位變?yōu)?871239 。
輸入格式
輸入一行包含一個(gè)整數(shù) x 。保證輸入的 x 正好包含 6 個(gè)十進(jìn)制數(shù)位,而且十萬位和萬位上的數(shù)字均不為 0 。
輸出格式
輸出一行包含一個(gè)整數(shù),表示答案。
樣例輸入
194910
樣例輸出
949101
import java.util.Scanner;
public class Main_6 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String op= sc.next();
char[] str=op.toCharArray();
for(int i=1;i<str.length;i++){
System.out.print(str[i]);
}
System.out.print(str[0]);
}
}
7.問題描述
輸入一個(gè)僅包含小寫英文字母的字符串,請(qǐng)問這個(gè)字符串中的最后一元音是什么。
在英文中,a, e, i, o, u 共 5 個(gè)字母是元音字母,其它字母不是元音字母。
輸入格式
輸入一行包含一個(gè)字符串,僅由小寫英文字符組成,字符串中至少包含一個(gè)元音字母。
輸出格式
輸出一行包含一個(gè)字符,表示答案。
樣例輸入
lanqiao
樣例輸出
o
樣例輸入
cup
樣例輸出
u
import java.util.Scanner;
public class Main_7 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String op= sc.next();
char[] str=op.toCharArray();
char reslut = 0;
for(int i=0;i<str.length;i++){
if(str[i]=='a'||str[i]=='e'||str[i]=='i'||str[i]=='o'||str[i]=='u'){
reslut=str[i];
}
}
System.out.println(reslut);
}
}
8.1、問題描述:
給定一個(gè)整數(shù),對(duì)這個(gè)整數(shù)的一次轉(zhuǎn)換是指將這個(gè)整數(shù)變?yōu)檫@個(gè)整數(shù)的所有數(shù)位上的非零數(shù)字的乘積。
例如,對(duì) 123456789 進(jìn)行一次轉(zhuǎn)換變?yōu)?1*2*3*4*5*6*7*8*9=362880,再進(jìn)行一次轉(zhuǎn)換變?yōu)?3*6*2*8*8=2304,再進(jìn)行一次轉(zhuǎn)換變?yōu)?2*3*4=24,再進(jìn)行一次轉(zhuǎn)換變?yōu)?8。
給定一個(gè)整數(shù),請(qǐng)依次將轉(zhuǎn)換過程中經(jīng)歷的每個(gè)整數(shù)輸出,直到小于 10 。
2、輸入格式:
輸入一行包含一個(gè)整數(shù) n 。
3、輸出格式:
輸出多行,每行包含一個(gè)整數(shù)。
4、樣例輸入:
123456789
5、樣例輸出:
362880
2304
24
8
6、評(píng)測(cè)用例規(guī)模與約定:
對(duì)于 50% 的評(píng)測(cè)用例,1 <= n <= 10**9 (10的9次方)。
對(duì)于所有評(píng)測(cè)用例,1 <= n <= 10**18 (10的18次方)。
?
import java.util.Scanner;
public class Main_8 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String op=sc.next();
long x= Long.parseLong(op);
char[] str=op.toCharArray();
while(x>10){
int sum=1;
for(int i=0;i<str.length;i++){
if(str[i]!='0'){
sum*=Integer.parseInt(String.valueOf(str[i]));
}
}
String po= String.valueOf(sum);
str=po.toCharArray();
x=sum;
System.out.println(sum);
}
}
}
9.1、問題描述:
小藍(lán)站在一個(gè) n 行 m 列的方格圖中間,方格圖的每一個(gè)方格上都標(biāo)有一個(gè)正整數(shù)。
如果兩個(gè)相鄰方格(上下左右四個(gè)方向相鄰)內(nèi)的數(shù)的最大公約數(shù)大于 1 ,則可以從其中一個(gè)方格移動(dòng)到另一個(gè)方格,當(dāng)然也可以從另一個(gè)方格移回第一個(gè)方格。
假設(shè)小藍(lán)開始時(shí)站在第 r 行第 c 列,請(qǐng)問小藍(lán)可以移動(dòng)到方格圖內(nèi)的多少個(gè)方格?
2、輸入格式:
輸入的第一行包含兩個(gè)整數(shù) n, m ,用一個(gè)空格分隔,表示方格圖的行數(shù)和列數(shù)。
接下來 n 行,每行包含 m 個(gè)正整數(shù),相鄰整數(shù)間用一個(gè)空格分隔,依次表示方格圖中從第 1 行到第 n 行,每行從第 1 列到第 m 列中的數(shù)。
接下來一行包含兩個(gè)整數(shù) r, c,用一個(gè)空格分隔,表示小藍(lán)所在的行號(hào)和列號(hào)。
3、輸出格式:
輸出一行包含一個(gè)整數(shù),表示答案。
4、樣例輸入:
3 4
3 6 5 5
2 4 3 5
7 8 3 8
3 2
5、樣例輸出:
5
6、評(píng)測(cè)用例規(guī)模與約定:
對(duì)于50%的評(píng)測(cè)用例,1 <= n, m <= 100,方格圖中的每個(gè)數(shù)不超過 10**5 (10的5次方)。
對(duì)于所有評(píng)測(cè)用例,1 <= n, m <= 1000,方格圖中的每個(gè)數(shù)不超過 10**9 (10的9次方)。
?
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
public class Main_9 {
static int n,m;
static int N=1000;
static int[][] str=new int[N][N];
static int f_x,f_y;
static int[] dx={-1,0,1,0};
static int[] dy={0,1,0,-1};
static int ans=0;
static boolean[][] st=new boolean[N][N];
static boolean judge(int x,int y){
int p=Math.min(x,y);
for(int i=2;i<=p;i++){
if(x%i==0&&y%i==0)
return true;
}
return false;
}
static void bfs(){
Queue<int[]>queue=new LinkedList<>();
queue.add(new int[]{f_x,f_y});
while (!queue.isEmpty()){
int[] t=queue.poll();
for(int i=0;i<4;i++){
int x=t[0]+dx[i];
int y=t[1]+dy[i];
if(x>0&&x<=n&&y>0&&y<=m&&
judge(str[t[0]][t[1]],str[x][y])
&& !st[x][y]){
st[x][y]=true;
ans++;
queue.add(new int[]{x,y});
}
}
}
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
m=sc.nextInt();
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
int x=sc.nextInt();
str[i][j]= x;
}
}
f_x=sc.nextInt();
f_y=sc.nextInt();
bfs();
System.out.println(ans);
}
}
10.1、問題描述:
給定一個(gè)序列 a[1], a[2], …, a[n] 和一個(gè)整數(shù) k,請(qǐng)找出一個(gè)長(zhǎng)度正好為 k 的區(qū)間,使得區(qū)間中所有數(shù)的和最大。
即要找到一個(gè)整數(shù) p ,使得 1 <= p 且 p+k-1 <= n ,使得 a[p]+a[p+1]+...+a[p+k-1] 最大。
2、輸入格式:
輸入的第一行包含兩個(gè)整數(shù) n , k。
第二行包含 n 個(gè)整數(shù),相鄰的整數(shù)之間使用一個(gè)空格分隔,表示給定的序列。
3、輸出格式:
輸出一行包含一個(gè)整數(shù),表示最大的區(qū)間和,你只需要輸出和就行,不需要輸出方案。
4、樣例輸入:
6 3
2 3 9 1 9 5
5、樣例輸出:
19
6、評(píng)測(cè)用例規(guī)模與約定:
對(duì)于 30% 的評(píng)測(cè)用例,1 <= k <= n <= 30,1 <= a[i] <= 100。
對(duì)于 60% 的評(píng)測(cè)用例,1 <= k <= n <= 1000,1 <= a[i] <= 10000。
對(duì)于所有評(píng)測(cè)用例,1 <= k <= n <= 100000,1 <= a[i] <= 1000000。
?文章來源:http://www.zghlxwxcb.cn/news/detail-757176.html
import java.util.Scanner;
public class Main_10 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n,k;
n=sc.nextInt();
k=sc.nextInt();
int[] st = new int[1000010];
for(int i=1;i<=n;i++)
st[i]=sc.nextInt();
long ans=0;
for(int i=1;i<=n-k;i++){
long x=st[i]+st[i+1]+st[i+2];
if(x>ans)ans=x;
}
System.out.println(ans);
}
}
大題題目來源文章來源地址http://www.zghlxwxcb.cn/news/detail-757176.html
到了這里,關(guān)于第十五屆藍(lán)橋杯模擬賽(第二期)JAVA的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!