(ここでは書き込みカスタムディレクトリのタイトル)@
アルゴリズムの問題ウェブサイトを訓練:http://www.dotcpp.com
1.シンプルなA + B
(1)タイトル住所:https://www.dotcpp.com/oj/problem1000.html
(2)構文解析アルゴリズム:どのようにすることができたとき、実行するときに最初に横方向のスペースで区切られたデータを受信し、知ることができるようにしますストップ。
(3)解析:
Java構文とscanner.nextInt();整数を直接同定することができる、scanner.hasNext()錯体ループは最後の入力整数まで待つかもしれないが、
マップ関数構文パイソンを使用する必要があります。
(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. 3の最大数
(1)タイトルアドレス:https://www.dotcpp.com/oj/problem1002.html
(2)解析アルゴリズム:中間変数を設定し、次の3つの数、最後の中間変数の最大数を比較しますそれはすることができます。
(3)解析:
Javaコードは、3つの数字の配列と比較することができるか、または直接、式のトリプレットで使用することができ、
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文字の配列を生成し、各入力文字、後退、まず、第1ここで、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すべての基本的な文法問題は、分析されるべきではなく、非常に簡単な課題です。直接コード:
コードのPython(4)
質問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);
}
}
}