C++题目:
S = 1+1/2+1/3+1/4·+1/n
键盘输入n,求S。
小数还挺简单,可是它答案要最简分数
数据范围:
n<=12(是不是太小了
求!
C++题目:
S = 1+1/2+1/3+1/4·+1/n
键盘输入n,求S。
小数还挺简单,可是它答案要最简分数
数据范围:
n<=12(是不是太小了
求!
1、思路分析:最简分数即分母为1~n的最小公倍数,分子相加即可。
2、具体实现代码参考如下:
int main() {
int n;
cin >> n;
// 分母 最小公倍数
int d = n;
while (d) {
int flag = 1;
for (int i = 1; i <= n; i++) {
if (d % i != 0) {
flag = 0;
d++;
break;
}
}
if (flag == 1) {
break;
}
}
// 分子
int m = 0;
for (int i = 1; i <= n; i++) {
m += d / i;
}
cout << "S = " << m << "/" << d << endl;
return 0;
}