入门训练汇总

Posted 揭航

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了入门训练汇总相关的知识,希望对你有一定的参考价值。

入门训练汇总

基础

01_A+B问题

/*
资源限制
时间限制:1.0s   内存限制:256.0MB

问题描述
输入A、B,输出A+B。

输入格式
输入的第一行包括两个整数,由空格分隔,分别表示A、B。

输出格式
输出一行,包括一个整数,表示A+B的值。

样例输入
12 45

样例输出
57

数据规模与约定
-10000 <= A, B <= 10000。
*/
#include <iostream>

using namespace std;
int main() {
    int a, b;
    cin >> a >> b;
    cout << a + b;
    return 0;
}

/*
本题的C++源代码如下:

#include <iostream>

using namespace std;

int main()
{
    int a, b;
    cin >> a >> b;
    cout << a + b;
    return 0;
}
本题的C源代码如下:

#include <stdio.h>

int main()
{
    int a, b;
    scanf("%d%d", &a, &b);
    printf("%d", a+b);
    return 0;
}
本题的Java源代码如下:

import java.util.*;

public class Main
{
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
        Integer a = sc.nextInt();
        Integer b = sc.nextInt();
        System.out.println(a + b);
    }
}
*/

02-序列求和

/*
问题描述
求1+2+3+...+n的值。

输入格式
输入包括一个整数n。

输出格式
输出一行,包括一个整数,表示1+2+3+...+n的值。

样例输入
4

样例输出
10

样例输入
100

样例输出
5050

数据规模与约定
1 <= n <= 1,000,000,000。
*/


#include <iostream>

using namespace std;

int main() {
    // 1 <= n <= 1,000,000,000。
    long long n;
    long long sum = 0;
    cin >> n;
    for (long long i = 1; i <= n; i++) {
        sum = sum + i;
    }
    cout << sum;
    return 0;
}

03-圆的面积

/*
问题描述
给定圆的半径r,求圆的面积。

输入格式
输入包含一个整数r,表示圆的半径。

输出格式
输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。

说明:在本题中,输入是一个整数,但是输出是一个实数。

对于实数输出的问题,请一定看清楚实数输出的要求,比如本题中要求保留小数点后7位,则你的程序必须严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。

实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。

样例输入
4

样例输出
50.2654825

数据规模与约定
1 <= r <= 10000。

提示
本题对精度要求较高,请注意π的值应该取较精确的值。你可以使用常量来表示π,比如PI=3.14159265358979323,也可以使用数学公式来求π,比如PI=atan(1.0)*4。


*/
#include <math.h>

#include <cstdio>
#include <iostream>
using namespace std;

int main() {
    // 半径
    // 1 <= r <= 10000。
    int r;
    cin >> r;
    double PI = atan(1.0) * 4;
    double s = PI * r * r;
    printf("%.7lf", s);
    return 0;
}

数学

04_Fibonacci数列

/*
问题描述
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。

当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少

输入格式
输入包含一个整数n。

输出格式
输出一行,包含一个整数,表示Fn除以10007的余数。

说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。

样例输入
10

样例输出
55

样例输入
22

样例输出
7704

数据规模与约定
1 <= n <= 1,000,000。
*/
#include <iostream>
using namespace std;

long long get_num(long long n) {
    long long F1 = 1, F2 = 1, F3 = 2;
    // 还得考虑n=1,n=2的情况
    if (n == 1 || n == 2)
        F3 = 1;
    else {
        for (long long i = 3; i <= n; i++) {
            //直接求余
            F3 = (F1 + F2) % 10007;
            F1 = F2;
            F2 = F3;
        }
    }
    return F3 % 10007;
}

int main() {
    long long n;
    cin >> n;
    cout << get_num(n);
    return 0;
}

// 递归做法
#include <iostream>

using namespace std;

#define MOD 10007
long long f(long long n) {
    if (n == 1 || n == 2) {
        return 1;
    } else {
        return f(n - 1) % MOD + f(n - 2) % MOD;
    }
}

int main() {
    long long n;
    cin >> n;
    cout << f(n) % MOD;
    return 0;
}

以上是关于入门训练汇总的主要内容,如果未能解决你的问题,请参考以下文章

产品经理资源汇总 从入门到精通 10多年经验毫无保留分享

《自然语言处理实战入门》深度学习基础 ---- attention 注意力机制 ,Transformer 深度解析与学习材料汇总

《自然语言处理实战入门》深度学习基础 ---- attention 注意力机制 ,Transformer 深度解析与学习材料汇总

数据分析学习汇总

使用汇总操作训练 TensorFlow 模型比不使用汇总操作要慢得多

TensorFlow2 入门指南 | 14 网络模型的装配训练与评估