@

算法题训练网站:http://www.dotcpp.com

1.简单的a+b

(1)题目地址:https://www.dotcpp.com/oj/problem1000.html

(2)算法解析: 首先要能够接收到横向用空格分开的数据,并知道当运行的时候,在什么地方可以停止。

(3)语法解析:

  用java语法的时候scanner.nextInt();直接可以识别整数,scanner.hasNext()配合while循环可以一直等到输入的最后一个整数;

  而用python语法需要用到map函数。

(4)python代码

while True:
try:
a,b=map(int,input().strip().split())
print(a+b)
except:
break

(5)java代码

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = a + b;
System.out.println(c);
}
}
}

2.第一个HelloWorld程序!

(1)题目地址:https://www.dotcpp.com/oj/problem1001.html

(2)算法解析: 直接输出即可

(3)语法解析: 直接输出即可

(4)python代码

print('**************************')
print('Hello World!')
print('**************************')

(5)java代码

public class Main {
public static void main(String[] args) {
System.out.println("**************************");
System.out.println("Hello World!");
System.out.println("**************************");
}
}

3.三个数最大值

(1)题目地址:https://www.dotcpp.com/oj/problem1002.html

(2)算法解析: 设定一个中间变量,然后和三个数进行对比,最后把最大的数赋给中间变量即可。

(3)语法解析:

  java代码可以用数组或者直接三个数进行比较,可以配合三元表达式;

  python代码可以用max函数。

(4)python代码

a,b,c = map(int,input().strip().split())
print(max(a,b,c))

(5)java代码1

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
int max = 0;
if (a <= b) max = a;
else max = b;
if (max <= c) max = c;
System.out.println(max);
}
}

(5)java代码2

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a[] = new int[3],max = 0;
a[0] = scanner.nextInt();
a[1] = scanner.nextInt();
a[2] = scanner.nextInt();
for(int i=0;i < 3;i++)
{
max=(a[i] < max?max: a[i]);
}
System.out.println(max);
}
}

4.密码破译

(1)题目地址:https://www.dotcpp.com/oj/problem1003.html

(2)算法解析: 字符串中的字符先转化为ASCII码,然后增加到需要的字符的ASCII码后,再转化为字符。这个就是有名的凯撒密码。

(3)语法解析:

  java代码可以生成26个字母的数组,然后对比每个输入字符,向后移动,也可以先转化为ASCII码,然后再进行转化,这里用第一种。

  python代码直接用ord函数和chr函数即可进行转换。

(4)python代码

a = input()
for i in a:
print(chr(ord(i) + 4),end="")

(5)java代码

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); String kk = scanner.nextLine(); char [] s = new char[52];
for(int i = 0;i<=25;i++){
s[i] = (char)(96+i+1);
s[i+26] = (char)(64+i+1);
} for(int j = 0;j < kk.length();j++)
{
for(int i = 0;i<52;i++)
{
if(kk.charAt(j) == s[i])
{
System.out.print(s[i+4]);
}
}
}
}
}

5.母牛的故事

(1)题目地址:https://www.dotcpp.com/oj/problem1004.html

(2)算法解析:





(3)语法解析:

利用上面的公式分段即可求解。

(4)python代码

n = eval(input())
k = []
while n != 0:
if n > 4:
s = [i for i in range(0,5)]
for i in range(5,n+1):
s.append(s[i-3] + s[i-1])
k.append(s[-1])
else:
k.append(n)
n = eval(input()) for i in k:
print(i,end="\n")

(5)java代码

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int n;
while (scanner.hasNext()) {
n = scanner.nextInt();
if(n == 0)break;
System.out.println(result(n));
}
} private static int result(int n) {
if(n<=4) {
return n;
}else {
return result(n-1)+result(n-3);
}
} }

6.7.8.9.10

(1)题目地址:

第6题:https://www.dotcpp.com/oj/problem1005.html

第7题:https://www.dotcpp.com/oj/problem1006.html

第8题:https://www.dotcpp.com/oj/problem1007.html

第9题:https://www.dotcpp.com/oj/problem1008.html

第10题:https://www.dotcpp.com/oj/problem1009.html

(2)算法解析: 6.7.8.9都是基础语法题,这里就不进行分析了,是很简单的题目。直接上代码:

(4)python代码

第6题:

n = eval(input())
result = 5*(n-32)/9
print('c=%.2f' % result)

第7题:

a,b,c=map(int,input().strip().split())
print(max(a,b,c))

第8题:

x = eval(input())
y = x if x < 1 else 2 * x - 1 if x >= 1 and x < 10 else 3 * x - 11
print(y)

第9题:

x = eval(input())
s = {100:'A',90:'A',80:'B',70:'C',60:'D'}
if x < 60:
print('D')
else:
print(s[x // 10 * 10])

第10题:

n = input()
print(len(n))
print(' '.join(n))
print(n[::-1])

(5)java代码

第6题

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
double result = 5 * (a-32)/9;
System.out.println(String.format("c=%.2f", result));
}
}

第7题:

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a[] = new int[3],max = 0;
a[0] = scanner.nextInt();
a[1] = scanner.nextInt();
a[2] = scanner.nextInt();
for(int i=0;i < 3;i++)
{
max=(a[i] < max?max: a[i]);
}
System.out.println(max);
}
}

第8题

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
int b = x < 1?x:(x >= 1 && x < 10 ?2*x-1:3*x-11);
System.out.println(b);
}
}

第9题

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
if (a >= 90)System.out.println('A');
else if (a >= 80 && a < 90)System.out.println('B');
else if (a >= 70 && a < 80)System.out.println('C');
else if (a >= 60 && a < 70)System.out.println('D');
else System.out.println('D');
}
}

第10题

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String a = scanner.nextLine();
System.out.println(a.length());
for(int i = 0;i < a.length() - 1;i++)
{
char s = a.charAt(i);
System.out.print(s + " ");
}
System.out.print(a.charAt(a.length() - 1));
System.out.println();
for(int j = a.length() - 1;j >= 0;j--)
{
char s = a.charAt(j);
System.out.print(s);
}
}
}

python+java蓝桥杯ACM日常算法题训练(一)10基础题的更多相关文章

  1. Python解答蓝桥杯省赛真题之从入门到真题(二刷题目一直更新)

    蓝桥刷题 原文链接: https://github.com/libo-sober/LanQiaoCup Python解答蓝桥杯省赛真题之从入门到真题 不同字串 """ 一 ...

  2. Java 蓝桥杯 算法训练(VIP) 最大体积

    最大体积 问题描述 每个物品有一定的体积(废话),不同的物品组合,装入背包会战用一定的总体积. 假如每个物品有无限件可用,那么有些体积是永远也装不出来的. 为了尽量装满背包,附中的OIER想要研究一下 ...

  3. 第九届蓝桥杯JavaC组决(国)赛真题

    1:年龄问题 s夫人一向很神秘.这会儿有人问起她的年龄,她想了想说: "20年前,我丈夫的年龄刚好是我的2倍,而现在他的年龄刚好是我的1.5倍". 你能算出s夫人现在的年龄吗? 这 ...

  4. Java蓝桥杯 算法提高 九宫格

    算法提高 9-1九宫格 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 九宫格.输入1-9这9个数字的一种任意排序,构成3*3二维数组.如果每行.每列以及对角线之和都相等,打印1.否 ...

  5. java 蓝桥杯算法提高 出现次数最多的整数

    思路:其实这道题不是太难,但是这个题太坑了,提交了好多次都不是100,后来才知道,一定一定要在输入数组数据之前先判断一下输进去的n的范围,一定一定要注意,否则就是跟我下面的图片一样的效果了,泪奔~ 问 ...

  6. Java 蓝桥杯 算法训练 貌似化学

    ** 貌似化学 ** 问题描述 现在有a,b,c三种原料,如果他们按x:y:z混合,就能产生一种神奇的物品d. 当然不一定只产生一份d,但a,b,c的最简比一定是x:y:z 现在给你3种可供选择的物品 ...

  7. Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)

    ** 算法训练 字符串的展开 ** 题目: 在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于"d-h" ...

  8. Java蓝桥杯 算法训练 复数归一化

    算法提高 复数归一化 时间限制:1.0s 内存限制:512.0MB 编写函数Normalize,将复数归一化,即若复数为a+bi,归一化结果为a/sqrt(aa+bb) + ib/sqrt(aa+b* ...

  9. Java蓝桥杯——贪心算法

    贪心算法 贪心算法:只顾眼前的苟且. 即在对问题求解时,总是做出在当前看来是最好的选择 如买苹果,专挑最大的买. 最优装载问题--加勒比海盗 货物重量:Wi={4,10,7,11,3,5,14,2} ...

随机推荐

  1. Javascript模块化开发3——Grunt之预处理

    一.grunt预处理简述 grunt的注册任务函数本身会对传入的参数和配置对象里的相关属性进行一定的预处理,方便任务函数进行操作. grunt的registerTask方法和registerMulti ...

  2. 雪崩利器 hystrix-go 源码分析

    阅读源码的过程,就像是在像武侠小说里阅读武功秘籍一样,分析高手的一招一式,提炼出精髓,来增强自己的内力. 之前的帖子说了一下微服务的雪崩效应和常见的解决方案,太水,没有上代码怎么叫解决方案.githu ...

  3. (四十)c#Winform自定义控件-开关-HZHControls

    官网 http://www.hzhcontrols.com 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kww ...

  4. Java生鲜电商平台-电商系统性能指标

    Java生鲜电商平台-电商系统性能指标 1.响应时间和吞吐量 根据应用程序的响应时间可以知道程序完成传输数据所用的时间.也可以从HTTP请求级别,或者成为数据库级别来看.对那些缓慢的查询你需要做一些优 ...

  5. Android Service 启动流程

    执行顺序 : startService -> bindService -> unbindService -> stopService 回调的结果为: 执行顺序 : startServ ...

  6. hadoop访问50070

    http://ip:50070 注意id必须是namenode节点才能访问,datanode不能访问

  7. Django—开发具体流程

    1.创建Django项目 [root@localhost ~]# django-admin startproject 项目名 [root@localhost ~]# django-admin star ...

  8. 快速破解Goland

    两种激活方式永久激活:推荐优先使用,永久有效有效期激活:如果你实在激活不了又着急使用,这是备选激活方案,简单快捷 一.永久激活 1.下载新版破解补丁 点击链接 https://pan.baidu.co ...

  9. 定义私有指令 v-fontweight

    // 这是一个私有的指令 他是在vm这个实例对象里里面的 所以说是私有的 directives 多一个s // 在css中是font-Weight.在第二个字母的大写该为小写,去掉横线. // 这中写 ...

  10. sed命令总结

    目录 1.概述 2.查 1.打印整行(一或多) 2.正则打印包含关键字的行 2.增 3.删 4.改 5.后向引用 6.结合 7.练习 我叫张贺,贪财好色.一名合格的LINUX运维工程师,专注于LINU ...