日常刷题篇(入门)

简介: 我从简单到难,一起走上漫漫刷题路!我会持续在我的博客中更新我每天刷题的内容!相互交流!

我从简单到难,一起走上漫漫刷题路!

我会持续在我的博客中更新我每天刷题的内容!

相互交流!

大家一键三连,多多关注!

这是今天我给大家带来的题!以后难度逐渐加深!


1.杨辉三角

描述

KiKi知道什么叫杨辉三角之后对杨辉三角产生了浓厚的兴趣,他想知道杨辉三角的前n行,请编程帮他解答。杨辉三角,本质上是二项式(a+b)的n次方展开后各项的系数排成的三角形。其性质包括:每行的端点数为1, 一个数也为1;每个数等于它左上方和上方的两数之和。

输入描述:

第一行包含一个整数数n。 (1≤n≤30)

输出描述:

包含n行,为杨辉三角的前n行,每个数输出域宽为5。

#include<stdio.h>
int main() {
    int num = 0, arr[30][30] = {0};
    scanf("%d", &num);
    for (int i = 0; i < num; i++) {
        for (int j = 0; j < num; j++) {
            if (i >= j) {
                if (j == 0 || i == j)
                    arr[i][j] = 1;
                else
                    arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
            }
            if (arr[i][j] != 0)
                printf("%5d", arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}

2.井字棋

描述

KiKi和BoBo玩 “井”字棋。也就是在九宫格中,只要任意行、列,或者任意对角线上面出现三个连续相同的棋子,就能获胜。请根据棋盘状态,判断当前输赢。

输入描述:

三行三列的字符元素,代表棋盘状态,字符元素用空格分开,代表当前棋盘,其中元素为K代表KiKi玩家的棋子,为O表示没有棋子,为B代表BoBo玩家的棋子。

输出描述:

如果KiKi获胜,输出“KiKi wins!”;

如果BoBo获胜,输出“BoBo wins!”;

如果没有获胜,输出“No winner!”。

#include<stdio.h>
int main() {
    int i, j, k, flag = 0;
    char a[3][3];
    for (i = 0; i < 3; i++) {
        for (j = 0; j < 3; j++) {
            scanf(" %c", &a[i][j]); 
        }
    }
    for (j = 0; j < 3; j++) {
        if (a[j][0] == 'K' && a[j][1] == 'K' && a[j][2] == 'K') {
            printf("KiKi wins!");
            flag = 1;
            break;
        }
        if (a[0][j] == 'K' && a[1][j] == 'K' && a[2][j] == 'K') {
            printf("KiKi wins!");
            flag = 1;
            break;
        }
        if (a[0][0] == 'K' && a[1][1] == 'K' && a[2][2] == 'K') {
            printf("KiKi wins!");
            flag = 1;
            break;
        }
        if (a[0][2] == 'K' && a[1][1] == 'K' && a[2][0] == 'K') {
            printf("KiKi wins!");
            flag = 1;
            break;
        }
        if (a[j][0] == 'B' && a[j][1] == 'B' && a[j][2] == 'B') {
            printf("BoBo wins!");
            flag = 1;
            break;
        }
        if (a[0][j] == 'B' && a[1][j] == 'B' && a[2][j] == 'B') {
            printf("BoBo wins!");
            flag = 1;
            break;
        }
        if (a[0][0] == 'B' && a[1][1] == 'B' && a[2][2] == 'B') {
            printf("BoBo wins!");
            flag = 1;
            break;
        }
        if (a[0][2] == 'B' && a[1][1] == 'B' && a[2][0] == 'B') {
            printf("BoBo wins!");
            flag = 1;
            break;
        }
    }
    if (flag == 0) {
        printf("No winner!");
    }
    return 0;
}

3.小乐乐与进制转换

描述

小乐乐在课上学习了二进制八进制与十六进制后,对进制转换产生了浓厚的兴趣。因为他的幸运数字是6,所以他想知道一个数表示为六进制后的结果。请你帮助他解决这个问题。

输入描述:

输入一个正整数n  (1 ≤ n ≤ 109)

输出描述:

输出一行,为正整数n表示为六进制的结果

#include <stdio.h>
int main() {
    long n, arr[10], i = 0, sum = 0;
    while (scanf("%ld", &n) != EOF) {
        while (n) {
            arr[i] = n % 6;
            n /= 6;
            i++;
        }
        for (int j = i - 1; j >= 0; j--) {
            printf("%ld", arr[j]);
        }
    }
    return 0;
}

4.小乐乐求和

描述

小乐乐最近接触了求和符号Σ,他想计算


2ef6f501fa1077465a1d4434d49862c3.png



的结果。但是小乐乐很笨,请你帮助他解答。

输入描述:

输入一个正整数n  (1 ≤ n ≤ 10)

输出描述:

输出一个值,为求和结果。

#include <stdio.h>
int main() {
    int n=0,m=0;
    long sum=0;
    scanf("%d",&n);
    for(m=1;m<=n;m++)
    {
        sum+=m;
    }
    printf("%ld",sum);
    return 0;
}

5.小乐乐与欧几里得

描述

小乐乐最近在课上学习了如何求两个正整数的最大公约数与最小公倍数,但是他竟然不会求两个正整数的最大公约数与最小公倍数之和,请你帮助他解决这个问题。

输入描述:

每组输入包含两个正整数n和m。(1 ≤ n ≤ 109,1 ≤ m ≤ 109)

输出描述:

对于每组输入,输出一个正整数,为n和m的最大公约数与最小公倍数之和。


#include<stdio.h>
int main() {
    long long a = 0;
    long long b = 0;
    scanf("%d %d", &a, &b);
    long long sum = 1;
    long long n = a * b;
    while (sum = a % b) {
        a = b;
        b = sum;
    }
    long long m = n / b;
    printf("%lld\n", m + b);
    return 0;
}

6.小乐乐改数字

描述

小乐乐喜欢数字,尤其喜欢0和1。他现在得到了一个数,想把每位的数变成0或1。如果某一位是奇数,就把它变成1,如果是偶数,那么就把它变成0。请你回答他最后得到的数是多少。

输入描述:

输入包含一个整数n (0 ≤ n ≤ 109)

输出描述:

输出一个整数,即小乐乐修改后得到的数字。


#include <stdio.h>
int main() {
    int a, b = 1, sum = 0;
    scanf("%d", &a);
    while (a / b != 0) {
        sum += (a % (10 * b) / b) % 2 * b;
        b *= 10;
    }
    printf("%d\n", sum);
    return 0;
}


7.小乐乐走台阶

描述

小乐乐上课需要走n阶台阶,因为他腿比较长,所以每次可以选择走一阶或者走两阶,那么他一共有多少种走法?

输入描述:

输入包含一个整数n (1 ≤ n ≤ 30)

输出描述:

输出一个整数,即小乐乐可以走的方法数。

#include<stdio.h>
int num(int n) {
    if (n > 1) {
        if (n - 2 > 0) {
            return num(n - 1) + num(n - 2);
        } else
            return 2;
    } else
        return 1;
}
int main() {
    int n = 0;
    scanf("%d", &n);
    int ret = num(n);
    printf("%d", ret);
    return 0;
}


8.小乐乐与序列

描述

老师给了小乐乐一个正整数序列,要求小乐乐把这个序列去重后按从小到大排序。但是老师给出的序列太长了,小乐乐没办法耐心的去重并排序,请你帮助他。

输入描述:

第一行包含一个正整数n,表示老师给出的序列有n个数。接下来有n行,每行一个正整数k,为序列中每一个元素的值。(1 ≤ n ≤ 105,1 ≤ k ≤ n)

输出描述:

输出一行,为去重排序后的序列,每个数后面有一个空格。

#include <stdio.h>
int main() {
    int n = 0;
    int arr[100000] = {0};
    int i = 0;
    int tmp = 0;
    scanf("%d", &n);
    for (i = 0; i < n; i++) {
        scanf("%d", &tmp);
        arr[tmp] = tmp;
    }
    for (i = 0; i < n; i++) {
        if (arr[i] != 0)
            printf("%d ", arr[i]);
    }
    return 0;
}


相关文章
|
2天前
|
数据采集 人工智能 安全
|
11天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1011 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1704 9
|
8天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
647 152
|
10天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
616 12
|
10天前
|
人工智能 自然语言处理 API
Next AI Draw.io:当AI遇见Draw.io图表绘制
Next AI Draw.io 是一款融合AI与图表绘制的开源工具,基于Next.js实现,支持自然语言生成架构图、流程图等专业图表。集成多款主流大模型,提供智能绘图、图像识别优化、版本管理等功能,部署简单,安全可控,助力技术文档与系统设计高效创作。
688 151