CSP 202206-1 归一化处理

举报
辰chen 发表于 2022/08/23 06:53:52 2022/08/23
【摘要】 会调用几个数学函数即可,题目让做什么做什么就可以了,题目中 $a$ 数组虽然存的是整数但是定义为浮点数也没什么大不了的,可以省几步的强制转换,再一个就是误差不超过 $10^{-4}$ 就可以了,所以没必要输出小数点后那么多位,题干在最后也提示了,直接 `printf` 即可。

本题链接CSP 202206-1 归一化处理

本博客给出本题截图

在这里插入图片描述

C++

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>

using namespace std;

const int N = 1010;

double a[N];  // 直接定义为double类型不用进行后续的强制转换

int main()
{
    int n;
    double sum = 0;
    cin >> n;
    for (int i = 0; i < n; i ++ ) cin >> a[i], sum += a[i];

    double ave = sum / n, d = 0;
    for (int i = 0; i < n; i ++ ) d += pow(a[i] - ave, 2);
    d /= n;

    for (int i = 0; i < n; i ++ ) printf("%lf\n", (a[i] - ave) / sqrt(d));

    return 0;
}

总结

会调用几个数学函数即可,题目让做什么做什么就可以了,题目中 a a 数组虽然存的是整数但是定义为浮点数也没什么大不了的,可以省几步的强制转换,再一个就是误差不超过 1 0 4 10^{-4} 就可以了,所以没必要输出小数点后那么多位,题干在最后也提示了,直接 printf 即可。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。