码蹄集——圆周率II、三个非负整数
MT1231 圆周率II
由近似公式:π/2=2/1 * 2/3 * 4/3 * 4/5 * 6/5 * 6/7 * 8/7 * 8/9…,求圆周率(精确到10的−6次方)。
格式
输入格式:无
输出格式:输出为实型,2位小数
样例 1
输入:无
输出:3.14
思路:
观察,有规律,从1开始,当为奇数个数时的式子是 (i+1)/i,当为偶数时 i/(i+1)
易错点:
i 一定不能是int,结果会直接为0
通过 i<=1000000 确定精度
#include<bits/stdc++.h>using namespace std;int main()
{double ans=1;for(double i=1;i<=1000000;i++){if((int)i%2==0)ans*=i/(i+1);elseans*=(i+1)/i;}printf("%.2lf",ans*2);return 0;}
MT1242 三个非负整数
给定一个正整数N,将其分解为3个非负整数的累加和,并统计出这样做的方法数。比如2,有2种分解方法:
0 + 0 + 2 = 2 (0 + 2 + 0 = 2 2 + 0 + 0 = 2 可以和左边等式看做同一种)
0 + 1 + 1 = 2 (1 + 1 + 0 = 2 1 + 0 + 1 = 2 可以和左边等式看做同一种)
格式
输入格式:输入整型
输出格式:输出整型
样例 1
输入:3
输出:3
思路: