输入格式:
第一行输入一个整数n
第二行输入n个整数
输出格式:
输出一个浮点数,保留五位小数,四舍五入。比如答案为2.333336,就输出2.33334
样例输入1:
3
7 1 3
1 2 1
样例输出1:
2.00000
样例输入2:
10
2 3 5 7 11 13 17 19 23 29
6 5 4 3 2 1 2 3 4 5
样例输出2:
2.75000
大家可以给个思路么?
输入格式:
第一行输入一个整数n
第二行输入n个整数
输出格式:
输出一个浮点数,保留五位小数,四舍五入。比如答案为2.333336,就输出2.33334
样例输入1:
3
7 1 3
1 2 1
样例输出1:
2.00000
样例输入2:
10
2 3 5 7 11 13 17 19 23 29
6 5 4 3 2 1 2 3 4 5
样例输出2:
2.75000
大家可以给个思路么?
收起
求两个数列的协方差的问题
协方差表示两个数列之间的相关性,协方差越大,相关性越高,协方差越小,相关性越低。
协方差的计算公式:Cov(X, Y) = E[(X - EX)(Y - EY)]
其中,EX和EY分别是X和Y的均值。
别说思路了,给一段C++代码吧
- #include<iostream>
- #include<cmath>
- using namespace std;
-
- int main() {
- int n;
- cin>>n;
- double a[n],b[n];
- for(int i=0;i<n;i++) cin>>a[i];
- for(int i=0;i<n;i++) cin>>b[i];
- double sum=0;
- for(int i=0;i<n;i++) sum+=(a[i]*b[i]);
- double res=sum/n;
- cout<<fixed<<setprecision(5)<<res<<endl;
- return 0;
- }
-
-
代码如下,仅供参考!
- #include <stdio.h>
- #include <math.h>
-
- int main() {
- int n;
- scanf("%d", &n);
- int a[n];
- for (int i = 0; i < n; i++) {
- scanf("%d", &a[i]);
- }
- int b[n];
- for (int i = 0; i < n; i++) {
- scanf("%d", &b[i]);
- }
- float sum = 0;
- for (int i = 0; i < n; i++) {
- sum += (float)a[i] / b[i];
- }
- printf("%.5f", round(sum / n * 10000) / 10000);
- return 0;
- }
-
-
报告相同问题?