@

算法题训练网站: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. appium元素定位之AndroidUiAutomator

    UIAutomator 元素定位是 Android 系统原生支持的定位方式,虽然与 xpath 类似,但比它更好用,并且支持元素全部的属性定位,定位原理是通过 android 自带的android u ...

  2. koa2 从入门到进阶之路 (七)

    之前的文章我们介绍了一下 koa koa-static静态资源中间件,本篇文章我们来看一下 koa 中 cookie 和 session 的使用. cookie 是存储于访问者的计算机中的变量.可以让 ...

  3. css实现左右两个div等高

    提出问题: 现在有两个div,但是两个div里面内容多少不确定,可能左边多,可能右边多,css要如何设置可以保证左右两边的div等高呢? 解决方案: 每个div使用display:table-cell ...

  4. MySQL入门——Linux下安装后的配置文件

    MySQL入门——Linux下安装后的配置文件 摘要:本文主要了解了在Linux环境下安装MySQL后的配置文件的位置,以及如何创建配置文件. 查看配置文件的加载顺序 找到mysqld的路径 通过wh ...

  5. Implement Custom Business Classes and Reference Properties实现自定义业务类和引用属性(EF)

    In this lesson, you will learn how to implement business classes from scratch. For this purpose, the ...

  6. ArcGIS api for JavaScript 3.27 FindTask查询功能

    在ArcGIS API中查询功能是经常使用的,常用的三个查询分别是FindTask,QueryTask,IdentifyTask.它们各自都有自己的特点. 查询功能分为属性查询和空间查询 FindTa ...

  7. Cesium专栏-裁剪效果(基于3dtiles模型,附源码下载)

    Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...

  8. XSS原理及其相应工具使用

    XSS(厉害程度:只要js能实现什么功能,xss就能对client造成什么伤害):   原理:通过web站点漏洞,向客户端交付恶意脚本代码,实现对客户端的攻击目的 主要攻击目的(网页挂马:通过XSS向 ...

  9. 【Android】Android多渠道打包--Gradle打包

    Android多渠道打包--Gradle打包 前言 由于App一般都会在多个应用市场上架,为了分析App在每个不同渠道的具体的数据,一般都会对不同渠道打包不同的App.多渠道打包有多种方式,这里只介绍 ...

  10. PyCharm设置完自动上传,却不会自动上传任何内容

    Upload changed files automatically to the default server 选择了 Always 下面有一个提示 Default server or group ...