洛谷p5719答案c语言
时间: 2023-11-25 19:50:46 浏览: 46
根据提供的引用内容,这是一道洛谷p5719题的C语言AC代码。该代码使用了动态规划的思想,通过递推计算出每个数的方案数,最终得到n的方案数。具体实现可以参考以下代码:
```c
#include <stdio.h>
int main() {
int f[19] = {1, 1};
int i, j, n;
scanf("%d", &n);
for (i = 2; i <= n; i++) {
for (j = 0; j < i; j++) {
f[i] += f[j] * f[i - j - 1];
}
}
printf("%d", f[n]);
return 0;
}
```
相关问题
洛谷p5719C语言
以下是洛谷p5719C语言的两种解法:
1. 使用sum1和sum2分别记录能整除k和不能整除k的数的和,t1和t2分别记录能整除k和不能整除k的数的个数。
```c
#include <stdio.h>
int main() {
int i, n, k, sum1 = 0, sum2 = 0, t1 = 0, t2 = 0;
scanf("%d%d", &n, &k);
for (i = 1; i <= n; i++) {
if (i % k == 0) {
sum1 += i;
t1++;
} else {
sum2 += i;
t2++;
}
}
printf("%.1f %.1f", sum1 * 1.0 / t1, sum2 * 1.0 / t2);
return 0;
}
```
2. 使用a1和a2分别记录能整除k和不能整除k的数的个数,sum1和sum2分别记录能整除k和不能整除k的数的和。
```c
#include <stdio.h>
int main() {
int n, k, i, a1 = 0, a2 = 0;
double sum1 = 0, sum2 = 0, c, d;
scanf("%d %d", &n, &k);
for (i = 1; i <= n; i++) {
if (i % k == 0) {
a1++;
sum1 += i;
} else if (i % k != 0) {
a2++;
sum2 += i;
}
}
c = sum1 / a1;
d = sum2 / a2;
printf("%.1f %.1f", c, d);
return 0;
}
```
洛谷p5720答案c语言
以下是洛谷p5720题目的C语言解法:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int n;
scanf("%d", &n);
printf("%d %d %d", n, (int)pow(n, 2), (int)pow(n, 3));
return 0;
}
```
该程序的功能是读入一个整数n,然后输出n、n的平方和n的立方。
解析:
1. 首先,我们需要使用`scanf`函数读入一个整数n,`%d`表示读入一个整数。
2. 然后,我们使用`pow`函数计算n的平方和n的立方。需要注意的是,`pow`函数返回的是一个浮点数,需要使用`(int)`进行强制类型转换。
3. 最后,我们使用`printf`函数输出n、n的平方和n的立方。`%d`表示输出一个整数。