ブルーブリッジカップトレーニングタイトル(A)

基本的な質問

1.こんにちは、世界!

タイトル説明

これはテストのための第一の課題です。すべての我々はASCIIコードを知っているので、あなたの仕事は単純です:入力番号と出力に対応するメッセージ。

エントリー

入力は、空白(スペース、改行、タブ)で区切られた正の整数のリストを含むことになります。ファイルの終わり(EOF)に処理してください。整数は32よりも少なくなることはありません。

輸出

出力対応するメッセージ。出力の最後に改行文字がありません注意してください。

サンプル入力

72 101 108 108 111 44
32 119 111 114 108 100 33

サンプル出力

こんにちは世界!

書き言葉C

#include<stdio.h>
int main() {
 char c;
 int a[100], i = 0;
 while ((scanf("%d", &a[i])) != EOF) {//需要换行输入ctrl+z再回车
 i++;
 }
 for (int j = 0; j < i; j++) {
 printf("%c", a[j]);
 }
 return 0;
}

EOFは、ここでは、コンパイラ内部の特別なトレーニングシステムで有効な質問が有効ではないです
)は、Java sc.hasnext(同じ。EMM

import java.util.Scanner;
/**
 * @author 小喵钓鱼
 * @date 2020-02-19 13:55
 * @veision 1.10
 */
public class Pratice {
 public static void main(String[] args) {
 // TODO Auto-generated method stub
 Scanner scanner = new Scanner(System.in);
 while (scanner.hasNext())
 {
 int a = scanner.nextInt();
 System.out.print((char)a);
 }
 }
}

ふるい2.メソッドN.を求めている素数

タイトル説明

プライム要件の内側のふるい番号N。

エントリー

N

輸出

0~N的素数

サンプル入力

100

サンプル出力

2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97

#include<stdio.h>
#include<math.h>
int su(int n);
int main(void) {
 int n;
 scanf("%d", &n);
 for (int i = 2; i < n; i++)
 {
 if (su(i) != -1)
 {
 printf("%d\n", su(i));
 }
 }
}
// 素数就是 只被自己 和 1整除的数
int su(int n)
{
 int i;
 int k = (int)sqrt((double)n);
 for (i = 2; i <= k; i++)
 {
 if (n % i == 0)
 {
 break;
 }
 }
 if (i > k)
 {
 return n;
 }
 return -1;
}

3.リバース文字

#include <stdio.h>
#include <string.h>
int main(void)
{
 char strinput[100];
 scanf("%[^\n]", strinput); //除了换行符以外的字符全部接收
 char stroutput[100];
 int i = 0;
 int j = 0;
 int len = strlen(strinput);
 //逆序拷贝
 for (i = len - 1; i >= 0; i--)
 {
 stroutput[j++] = strinput[i];
 }
 stroutput[j] = '\0';
 printf("%s\n", stroutput);
 return 0;
}

java import java.util.Scanner; /** * @author 小喵钓鱼 * @date 2020-02-19 13:55 * @veision 1.10 */ public class Pratice { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); for (int i = str.length() - 1; i >= 0; i--) { System.out.print(str.charAt(i)); } System.out.println(); } }ジャワ

[ブルーブリッジカップ] [2013年第四Zhenti】式を評価します

制限時間:1秒メモリ制限:128MBの提出:1131解像度:13

タイトル説明

入力N、M、Kは、次式の出力値。

いくつかのC_Nの組み合わせは^ mは、Mは、一組のN個の個体における個体の集合からなるプログラムの選択された数を表します。以下のような組み合わせの数が計算されます。

データサイズは、合意された
0≤m≤n、k≤nながら、10 ^1000,1≤k≤1000<すなわち1≤n、これ以上のn進1000年よりも、データの100%に。
ヒント
999101は素数であり、
ビット数が比較的長い時間があるときnは、答えはゼロですが、データはほとんどの場合、ゼロでないときに評価がいくつかの答えを選択します。

エントリー

最初の行は、整数n入力を含み、第二行は第3段目は、整数kを含み、整数mを含有します。

輸出

答えは非常に大きいため、上記式の計算値は、出力値に999101で割ってください。 

サンプル入力

3
1
3

サンプル出力

162

// 第一次尝试
import java.util.Scanner;
 public class Main {
 public static void main(String[] args) {
 int n, m, k;
 Scanner sc = new Scanner(System.in);
 String blank;
 n = sc.nextInt();
 blank = sc.nextLine();
 m = sc.nextInt();
 blank = sc.nextLine();
 k = sc.nextInt();
 long sum = 0;
 for (int i = 0; i <= n; i++)
 {
 sum += calcu(i, n) * calcu(m, n) * Math.pow(i, k);
 }
 System.out.println(sum % 999101);
 }
 public static long calcu(int m, int n)
 {
 long sum = 0;
 sum = Jie(n) / (Jie(m) * Jie(n - m));
 return sum;
 }
 public static long Jie(int n)
 {
 long sum = 1;
 if(n == 0)
 return 1;
 for (int i = 1; i <= n; i++)
 {
 sum *= i;
 }
 return sum;
 }
 }

論理的に数がエラーになり、大きすぎる、オートゼロで、ある問題は、ありません。

[ブルーブリッジカップ]の番号[2013第四Zhenti]を購入することはできません:1427質問

制限時間:1秒メモリ制限:128MBの提出:3255解像度:1685

タイトル説明

暁明はお菓子屋をオープンしました。彼の創意工夫:パケットにフルーツの砂糖パケットパケットの4と7二種類。キャンディアンパックを販売することはできません。
子供たちは砂糖を購入するとき、彼は2つの梱包を組み合わせるために使用しました。もちろん、お菓子の数のいくつかの組み合わせは、10砂糖を購入するために、例えば、外ではありません。
あなたは17で、最大数を購入することはできません、コンピューターテスト、ケース内のパッケージを使用することができます。17より任意の数の大きい組み合わせて4および7の実施に使用することができます。
タイトルはパッケージの数が知られている2つの間に必要とされ、組み合わせが最大の番号を見つけることができません。

エントリー

(以下1000)各糖包装の歯の数を表す2つの正の整数 

輸出

砂糖を購入することができない最大数を表す正の整数 

サンプル入力

4 7

サンプル出力

17

 import java.util.Scanner;
 /**
 * @author 小喵钓鱼
 * @date 2020-02-19 16:46
 * @veision 1.10
 */
 public class A2013_4 {
 public static void check(int m, int n)
 {
 // 最大组合数是不超过 m * n 的
 if (m > n)
 {
 int temp = m;
 m = n;
 n = m;
 }
 for (int i = m * n; i > 0; i--)
 {
 if (!T(m, n , i))
 {
 System.out.println(i);
 break;
 }
 }
 }
 public static boolean T(int m, int n, int i)
 {
 if (i % m == 0 || i % n == 0)
 {
 return true;
 }
 while (i >= m)
 {
 if (i % m == 0)
 return true;
 i -= n;
 }
 return false;
 }
 public static void main(String[] args) {
 // TODO Auto-generated method stub
 int m, n; // 糖果数
 Scanner sc = new Scanner(System.in);
 m = sc.nextInt();
 n = sc.nextInt();
 check(m, n);
 }
 }

ここでの組合せの最大数、<2つの数の積より大きいべき又は数の最小値に等しく、そしてリターン偽組成物の最大数がプルダウンされていないが、遭遇した最初の2つの数の積から得ることができないではありません

おすすめ

転載: www.cnblogs.com/xmdykf/p/12332254.html