結果
| 問題 | No.639 An Ordinary Sequence | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2018-01-27 14:17:16 | 
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 18 ms / 1,000 ms | 
| コード長 | 621 bytes | 
| コンパイル時間 | 663 ms | 
| コンパイル使用メモリ | 63,456 KB | 
| 実行使用メモリ | 11,448 KB | 
| 最終ジャッジ日時 | 2025-01-02 02:15:34 | 
| 合計ジャッジ時間 | 1,257 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 17 | 
ソースコード
#include <iostream>
#include <algorithm>
#include <vector>
#define rep(i, n) for(int i = 0; i < (int)(n); i++)
#define repR(i, n) for(int i = (n) - 1; i > -1; i--)
#define rep1(i, n) for(int i = 1; i < (int)(n + 1); i++)
#define rep1R(i, n) for(int i = (n); i > 0; i--)
#define ll long long
using namespace std;
ll N;
static const int k = 1000000;
ll dp[k + 1] = {};
void init() {
  dp[0] = 1;
  rep1(i, k) {
    dp[i] = dp[i / 3] + dp[i / 5];
  }
}
ll a(ll n) {
  if (dp[0] == 0) init();
  if (n <= k) return dp[n];
  else return a(n / 3) + a(n / 5);
}
int main() {
  cin >> N;
  cout << a(N) << endl;
  return 0;
}
            
            
            
        