算法修炼之练气篇——练气三层


博主:命运之光

专栏:算法修炼之练气篇

前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的,练完这200多道题就考了今年第十四届的B组蓝桥杯C/C++获得了省一,后面还会更新“算法修炼之筑基篇”里面包括了省赛到国赛这一个月训练的刷奖计划,大概有40道左右,感兴趣的话可以关注一下命运之光)

目录

🍓🍓十进制数转化为十进制以下任意进制(常用记忆一下)

题目 2797: 最高的分数

题目描述

输入格式

输出格式

样例输入

样例输出

题目 2796: 求整数的和与均值

题目描述

输入格式

输出格式

样例输入

样例输出

题目 2757: 浮点数向零舍入

题目描述

输入格式

输出格式

样例输入

样例输出

题目 2761: Hello, World!的大小

题目描述

输入格式

输出格式

样例输入

样例输出

提示

🍓🍓今日份修炼结束,再接再厉!!!


🍓🍓十进制数转化为十进制以下任意进制(常用记忆一下)

#include<stdio.h>
int main()
{
    //输入10 2意思就是输入十进制10转化为2进制是多少。
    //输出1010
    int num,m;
    int a[100],temp,i=0;
    scanf("%d %d",&num,&m);
    do{
        temp=num%m;
        num=num/m;
        a[i++]=temp;
    }while(num!=0);
    for(int j=i-1;j>=0;j--)
    {
        printf("%d",a[j]);
    }
    return 0;
}

题目 2797: 最高的分数

题目描述

孙老师讲授的《计算概论》这门课期中考试刚刚结束,他想知道考试中取得的最高分数。因为人数比较多,他觉得这件事情交给计算机来做比较方便。你能帮孙老师解决这个问题吗?

输入格式

输入两行,第一行为整数n(1 <= n < 100),表示参加这次考试的人数.第二行是这n个学生的成绩,相邻两个数之间用单个空格隔开。所有成绩均为0到100之间的整数。

输出格式

输出一个整数,即最高的成绩。

样例输入

5 85 78 90 99 60

样例输出

99

采用STL函数最快解决问题此问题(🍓学会使用STL函数可以快速解决复杂问题🍓

用max_element的时候输出记得加*解引用

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,a[100],temp;
    cin>>n;
    temp=n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    printf("%d",*max_element(a,a+n));
    return 0;
}

max_element() 查找给定区间内最大值
min_element() 查找给定区间内最小值
max_element(a, a + n) - a查找给定区间内最大值的下标
min_element(a, a + n) - a查找给定区间内最小值的下标

cout << "元素内最大值的位置为: " << max_element(a, a + 3) - a << endl;
    cout << "元素内最大值的值为: " << * max_element(a, a + 3) << endl;
    cout << "元素内最小值的位置为: " << min_element(a, a + 3) - a << endl;
    cout << "元素内最小值的值为: " << * min_element(a, a + 3) << endl;

题目 2796: 求整数的和与均值

题目描述

读入n(1 <= n <= 10000)个整数,求它们的和与均值。

输入格式

输入第一行是一个整数n,表示有n个整数。
第2~n+1行每行包含1个整数。每个整数的绝对值均不超过10000。

输出格式

输出一行,先输出和,再输出平均值(保留到小数点后5位),两个数间用单个空格分隔。

样例输入

4 344 222 343 222

样例输出

1131 282.75000

#include<stdio.h>
int main()
{
    double n,a,sum=0;
    scanf("%lf",&n);
    int temp=n;
    while(n--)
    {
        scanf("%lf",&a);
        sum=sum+a;
    }
    printf("%.0lf %.5lf",sum,sum/temp);
    return 0;
}

题目 2757: 浮点数向零舍入

题目描述

输入一个单精度浮点数,将其向零舍入到整数。

说明:向零舍入的含义是,正数向下舍入,负数向上舍入。

提示:可以使用强制类型转换来实现。

输入格式

一个单精度浮点数。

输出格式

一个整数,即向零舍入到整数的结果。

样例输入

2.3

样例输出

2

🍓🍓(别学命运之光这样写,命运之光纯粹图个方便)

#include<stdio.h>
int main()
{
    int a;
    scanf("%d",&a);
    printf("%d",a);
    return 0;
}

题目 2761: Hello, World!的大小

题目描述

还记得我们曾经输出过的“Hello, World!”吗?

我们可以用sizeof函数获得它所占用的空间大小。

请编程求出它的大小,看看跟你设想的是否一样?

输入格式

输出格式

一个整数,即“Hello, World!”的大小。

样例输入

样例输出

提示

“Hello, World!”是字符串类型。

#include<stdio.h>
int main()
{
    char a[]="Hello, World!";
    printf("%d",sizeof(a));
    return 0;
}

🍓🍓今日份修炼结束,再接再厉!!!

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
朴素贝叶斯算法是一种常用的分类算法,它将待分类的样本看作是由多个特征组成的向量,然后根据这些特征的先验概率和条件概率,计算出每个类别的后验概率,最终将样本分到概率最大的那个类别中。 在天气预报中,我们可以使用朴素贝叶斯算法来预测明天是否会下雨。假设我们有以下三个特征:今天是否下雨、今天是否多云、今天的气温,它们的取值分别为是或否、是或否、高、中、低。我们可以根据这些特征来构建训练数据集,例如: | 是否下雨 | 是否多云 | 气温 | 是否下雨(标签) | | -------- | -------- | ---- | ---------------- | | 是 | 是 | 高 | 是 | | 否 | 是 | 中 | 否 | | 否 | 否 | 低 | 否 | | 否 | 是 | 低 | 否 | | 是 | 否 | 中 | 是 | | 是 | 是 | 中 | 是 | 现在我们要预测明天是否会下雨,假设明天的气温为“中”,天气情况为“多云”,我们可以使用朴素贝叶斯算法来计算下雨和不下雨的后验概率。 首先,我们需要计算每个类别(下雨和不下雨)出现的先验概率,即: $$P(下雨)=\frac{3}{6}=0.5$$ $$P(不下雨)=\frac{3}{6}=0.5$$ 然后,我们需要计算每个特征在每个类别下的条件概率。以“是否多云”为例,当天不下雨的样本中,“是否多云”为“是”的概率为: $$P(是否多云=是|不下雨)=\frac{1}{3}=0.33$$ 同理,当天不下雨的样本中,“是否多云”为“否”的概率为: $$P(是否多云=否|不下雨)=\frac{2}{3}=0.67$$ 当天下雨的样本中,“是否多云”为“是”的概率为: $$P(是否多云=是|下雨)=\frac{2}{3}=0.67$$ 同理,当天下雨的样本中,“是否多云”为“否”的概率为: $$P(是否多云=否|下雨)=\frac{1}{3}=0.33$$ 其他特征的条件概率也可以用同样的方法计算。最后,我们可以根据贝叶斯公式计算下雨和不下雨的后验概率: $$P(下雨|气温=中,是否多云=是)=\frac{P(气温=中|下雨)P(是否多云=是|下雨)P(下雨)}{P(气温=中)P(是否多云=是)}$$ $$P(不下雨|气温=中,是否多云=是)=\frac{P(气温=中|不下雨)P(是否多云=是|不下雨)P(不下雨)}{P(气温=中)P(是否多云=是)}$$ 其中,$P(气温=中)$和$P(是否多云=是)$可以通过所有样本中对应特征的出现次数计算得到。 最后,比较两个后验概率的大小,即可得出明天是否会下雨的预测结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

命运之光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值