P2673 学习笔记
省流:数学推式子(实在不行你叫他数学退火也行)
总结一下:
-
代码难度:红;
-
推式子难度:蓝
直接开推。
我们要求的是
\[\lim_{k \to +\infty } \sum_{i=1}^{k} F_i \times 10^{k-i}
\]
的值。
我们把 \(+\infty\) 代进去:
\[\sum_{i=1}^{+\infty} F_i \times 10^{+\infty-i}
\]
我们在这个式子前面加上 0.,变成小数,式子就变成了
\[\sum_{i=1}^{+\infty} F_i \times 10^{-i}
\]
注意到斐波那契数列的通项公式
\[F_i=\frac1{\sqrt5}[(\frac{1+\sqrt5}2)^i-(\frac{1-\sqrt5}2)^i]
\]
代入得
\[\sum_{i=1}^{+\infty} \frac1{\sqrt5}[(\frac{1+\sqrt5}2)^i-(\frac{1-\sqrt5}2)^i] \times (\frac{1}{10})^i
\]
把 \((\dfrac{1}{10})^i\) 乘进去:
\[\sum_{i=1}^{+\infty} \frac1{\sqrt5}[(\frac{1+\sqrt5}{20})^i-(\frac{1-\sqrt5}{20})^i]
\]
我们先不看 \(\dfrac{1}{\sqrt5}\),于是原式就变成了等比数列求和公式。
我们直接一顿错位相减,最后我们要求的式子变成了
\[\frac1{\sqrt5} \times \frac{10\sqrt5}{89}=\frac{10}{89}
\]
建议打上标签:循环结构。
那么代码就很好写了 qwq。
code
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <iterator>
#include <map>
#include <unordered_map>
#include <queue>
#include <string>
#include <cstring>
#include <set>
#include <bitset>
#include <unordered_set>
#include <vector>
#include <deque>
#include <iomanip>
#include <fstream>
#include <sstream>
#include <list>
#include <array>
#include <iterator>
#include <cmath>
#include <new>
#include <random>
#include <cfloat>
#include <cstdlib>
#include <climits>
#include <numeric>
#include <complex>
#include <ctime>
#include <chrono>
#include <thread>
#include <mutex>
#include <future>
#include <exception>
#include <stdexcept>
#include <cstdint>
#include <cassert>
#include <stack>
#include <cctype>
#define DEBUG
#define Ofile(s) freopen(s".in", "r", stdin), freopen (s".out", "w", stdout)
#define Cfile(s) fclose(stdin), fclose(stdout)
#define fast ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
using namespace std;
using ll = long long;
using ull = unsigned long long;
using lb = long double;
constexpr int mod = 998244353;
int n, m;
int main() {
fast;
freopen("std.in", "r", stdin);
freopen("std.out", "w", stdout);
cin >> n >> m;
int ans = 10;
for (int i = 1; i <= m; i++){
if (i >= n)
cout << ans * 10 / 89;
ans = ans * 10 % 89;
}
return 0;
}

浙公网安备 33010602011771号