写一个C++计算1到100的函数
时间: 2023-03-14 17:50:44 浏览: 57
#include <stdio.h>int main()
{
int i, sum = 0; for (i = 1; i <= 100; i++)
{
sum += i;
} printf("1 到 100 的总和为:%d", sum);
return 0;
}
相关问题
c++写一个计算组合的函数
可以使用递归来实现计算组合的函数。
组合的公式为:C(n,m) = C(n-1,m-1) + C(n-1,m),其中C(n,m)表示从n个元素中选取m个元素的组合数。
以下是使用递归实现计算组合的函数的示例代码:
```c++
#include <iostream>
using namespace std;
int combination(int n, int m) {
if (m == 0 || m == n) {
return 1;
} else {
return combination(n-1, m-1) + combination(n-1, m);
}
}
int main() {
int n = 5, m = 2;
int result = combination(n, m);
cout << "C(" << n << "," << m << ") = " << result << endl;
return 0;
}
```
在上面的示例代码中,combination函数采用递归的方式来计算组合数。当m等于0或n时,直接返回1,否则按照组合公式计算并返回结果。在main函数中,调用combination函数计算C(5,2)的组合数,并输出结果。
c++写一个计算拟合优度的函数
以下是一个简单的C++函数,可以计算拟合优度(R平方):
```c++
#include <vector>
#include <numeric>
double r_squared(const std::vector<double>& observed, const std::vector<double>& predicted) {
// 计算平均值
const double mean = std::accumulate(observed.begin(), observed.end(), 0.0) / observed.size();
// 计算总平方和
const double ss_tot = std::accumulate(observed.begin(), observed.end(), 0.0, [mean](const double acc, const double obs) {
return acc + std::pow(obs - mean, 2.0);
});
// 计算残差平方和
const double ss_res = std::inner_product(observed.begin(), observed.end(), predicted.begin(), 0.0, std::plus<>(), [](const double obs, const double pred) {
return std::pow(obs - pred, 2.0);
});
// 计算R平方
const double r2 = 1.0 - (ss_res / ss_tot);
return r2;
}
```
该函数接受两个向量作为输入参数,分别是观察值和预测值。函数计算观察值的平均值,并使用它来计算总平方和。然后,函数计算残差平方和,即观察值和预测值之间的差的平方之和。最后,函数计算R平方,它是残差平方和与总平方和之比的补数。函数返回R平方值。