【java_蓝桥杯算法训练】算法训练二
饮料换购
资源限制
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。
请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能喝到多少瓶饮料。
输入:一个整数n,表示开始购买的饮料数量(0<n<10000)
输出:一个整数,表示实际得到的饮料数
例如:
用户输入:
100
程序应该输出:
149
用户输入:
101
程序应该输出:
151
资源约定:
峰值内存消耗 < 256M

请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能喝到多少瓶饮料。
输入:一个整数n,表示开始购买的饮料数量(0<n<10000)
输出:一个整数,表示实际得到的饮料数
例如:
用户输入:
100
程序应该输出:
149
用户输入:
101
程序应该输出:
151
资源约定:
峰值内存消耗 < 256M
CPU消耗 < 1000ms
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int k=n;
int count=0;
while(k>0) {
k-=3;
k++;
count++;
}
System.out.println(n+count-1);
}
}
资源限制
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
单词分析
问题描述
小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。
现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。
输入格式
输入一行包含一个单词,单词只由小写英文字母组成。
输出格式
输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪个。如果有多个字母出现的次数相等,输出字典序最小的那个。
第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。
样例输入
lanqiao
Data
样例输出
a 2
Data
样例输入
longlonglongistoolong
Data
样例输出
o 6
Data
评测用例规模与约定
对于所有的评测用例,输入的单词长度不超过 1000。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
String s=sc.next();
int arr[]=new int[26];
for(int i=0;i<s.length();i++) {
char a=s.charAt(i);
arr[a-97]++;
}
int max=arr[0];
int t=0;
for(int i=0;i<arr.length;i++) {
if(max<arr[i]) {
max=arr[i];
t=i;
}
}
System.out.println((char)('a'+(char)t));
System.out.println(max);
}
}
时间显示
资源限制
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// System.out.println(Long.MAX_VALUE);
Scanner sc=new Scanner(System.in);
// 3661
long log=sc.nextLong();
// long是毫秒
log/=1000;
// 46800999
// 161****103123
// 一共的秒数
long day=log%(60*60*24);
long h=day/(60*60);
long m=(day-(h*3600))/60;
day-=(h*3600);
long n=day%60;
// System.out.println(h);
// System.out.println(m);
// System.out.println(n);
// System.out.println(h+":"+m+":"+n);
// String h1,m1,n1;
System.out.print(h<10 ?"0"+h+":":h+":");
System.out.print(m<10 ?"0"+m+":":m+":");
System.out.print(n<10 ?"0"+n:n);
}
}
查看15道真题和解析

