oj练习

(1)

明明的问题可以归结为:给你一个整数区间,求出在这个区间里共有多少个素数。

输入说明

#include<stdio.h>
int main()
{
    
    int m,n;
    while (scanf("%d %d \n",  &m,&n) != EOF)
    {
        
        int count = 0;
        for (int i = m; i <= n; i++)
        {
            int is = 1;
            for (int j = 2; j <= i/2;j++)
            {
                if (i % j == 0)
                {
                    is = 0;
                    break;
                }
            }
            if (i == 1)
            {
                is = 0;
            }
            if (is == 1)
            {
                count++;
            }

        }
        printf("%d\n", count);
    }
    return 0;
}

(2)

还记得中学时候学过的杨辉三角吗?

基本的特征是:

前提:端点的数为1.

每个数等于它上方两数之和。

每行数字左右对称,由1开始逐渐变大。

第n行的数字有n项。

你可以参考以下的图形:

yh.jpg

#include <stdio.h>

int main() {
    int T, n, i, j, k;
    int a[21][21] = {0};  // 使用0初始化,方便后续计算
    
    // 读取测试数据组数
    scanf("%d", &T);
    
    // 处理每组数据
    for (k = 0; k < T; k++) {
        scanf("%d", &n);
        
        // 生成杨辉三角
        for (i = 0; i < n; i++) {
            a[i][0] = 1;  // 每行第一个数为1
            for (j = 1; j <= i; j++) {
                a[i][j] = a[i-1][j-1] + a[i-1][j];
            }
        }
        
        // 输出杨辉三角
        for (i = 0; i < n; i++) {
            // 每行先输出第一个数
            printf("%d", a[i][0]);
            // 输出后续数字
            for (j = 1; j <= i; j++) {
                printf(" %d", a[i][j]);
            }
            printf("\n");  // 行末换行
        }
        printf("\n");  // 每个三角后空一行
    }
    
    return 0;
}

(3)

从键盘上输入一个整数N,按以下规律输出一个(2N+1)*(2N+1)的矩阵:

对角线的值为1,

上半三角区域值为2,

下半三角区域值为3,

左半三角区域的值为4,

右半三角区域的值为5。

输入说明
 你的程序需要从标准输入设备(通常为键盘)中读入多组测试数据。每组测试数据数据占一行,大于零,小于等于8。

输出说明
 对每组测试数据,你的程序需要向标准输出文件(通常为启动该程序的终端)依次输出符合要求的矩阵,每行数据与数据之间以空格分隔,在行首和行尾不要输出多余的空格。在所有数据前后,以及两组数据之间不要输出多余的空行。

#include <stdio.h>

int main() {
    int N;
    while (scanf("%d", &N) != EOF) {
        int size = 2 * N + 1;
        for (int i = 0; i < size; i++) {
            for (int j = 0; j < size; j++) {
                if (i == j || i + j == size - 1) {
                    printf("%d", 1);
                } else if (i < j && i + j < size - 1) {
                    printf("%d", 2);
                } else if (i > j && i + j < size - 1) {
                    printf("%d", 4);
                } else if (i > j && i + j > size - 1) {
                    printf("%d", 3);
                } else {
                    printf("%d", 5);
                }
                if (j < size - 1) {
                    printf(" ");
                }
            }
            printf("\n");
        }
    }
    return 0;
}

文献翻译

卷积神经网络是深度学习中最关键的模型之一,在计算机视觉任务中得到了广泛应用,如图像分类、目标检测和图像分割。相较于传统的全连接神经网络,卷积神经网络通过局部连接和权值共享显著减少了参数量,从而降低了计算复杂度。卷积层能够自动从原始图像中提取特征,包括边缘、纹理和形状等。随着网络层数的增加,模型能够学习到更抽象、更复杂的特征表示。此外,池化层的使用通常可以缩减特征图的空间尺寸,既降低了计算成本,又增强了模型的鲁棒性。在实际应用中,卷积神经网络在医学影像分析、自动驾驶、人脸识别等领域取得了显著成果。然而,训练深度卷积神经网络通常需要大量标注数据和强大的计算资源,这仍是当前研究中的重要挑战。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐