fork(1) download
  1. #include <iostream>
  2. #define N 20001
  3. #define W 1000
  4. using namespace std;
  5.  
  6. int main() {
  7.  
  8. int i, j;
  9. int **ptr= NULL;
  10. ptr = new int*[N];
  11. for (i = 0; i < N; i++) {
  12. ptr[i] = new int[W];
  13. }
  14.  
  15.  
  16. for (i = 0; i < N; i++) {
  17. for (j = 0; j < W; j++) {
  18. ptr[i][j] = 0;
  19. }
  20. }
  21. ptr[0][0] = 0; //可省略
  22. ptr[1][0] = 1;
  23.  
  24. //___________________________________
  25.  
  26. int tem = 0;
  27. for (i = 2; i < N; i++) {
  28. for (j = 0; j < W; j++) {
  29. ptr[i][j] = ptr[i - 1][j] + ptr[i - 2][j] + tem;
  30. if (ptr[i][j]>10000000) {
  31. tem = ptr[i][j] / 10000000;
  32. ptr[i][j] = ptr[i][j] % 10000000;
  33. }
  34. else
  35. tem = 0;
  36. }
  37. }
  38. int n;
  39. while (cin >> n) {
  40. for (i = n, j = W - 1; j >= 0; j--)
  41. if (ptr[i][j] != 0)
  42. break;
  43. for (i = n; j >= 0; j--) {
  44. cout << ptr[i][j];
  45. }
  46.  
  47. cout << endl;
  48. }
  49. for (i = 0; i < N; i++)
  50. delete[] ptr[i];
  51. delete[] ptr;
  52.  
  53. system("pause");
  54. return 0;
  55. }
Success #stdin #stdout #stderr 0.07s 93632KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
sh: 1: pause: not found