ブルーブリッジカップアナログ多因子

問題の説明
  我々は階乗nは*(N-1)* nは知っている 、1 * ... * 2 *(N-2) 、多因子は、例えば:! 5のために、同様の定義することができます!= 1 * 5 3、次いでN必要がある可能性があります...!(K '!'、単純に表現することができるなどのn(K)!)= N *(NK)*(N-2K)*··· (最後の数まで<= 0)。
  今データN、K、M、所与のセットの値は、m = 1、および演算して出力N(1)!+ N( 2)!+ ... + N(K)] であり、m =そして数字2を算出して出力するn個(1)の和!+ N( 2)!+ ... + N(K)! 各ビット。
入力形式
  二列、第1行のN kを、第二の線m。
出力フォーマット
  行のN(1)!+ N(2)!+ ... + N(K)!または値N(1)!+ N(2)!+ ... + N図および個々のビットの(K)!上。
サンプル入力
5 1
2
サンプル出力
3
スケールデータと規則
  0 <K <N <= 20
問題解決のアイデア:ブラフ被験者、高精度にそのテンプレート、ルックデータ範囲、最悪の場合は、N = 20、K = 1、20 + 19 + 18 +の最大数です...!長い長いと、十分!を保存することが+1は、質問には、データを見て、後で範囲ありません。参照https://blog.csdn.net/sinat_31275315/article/details/90477866作り、変数値の様々なタイプを含むことによって。
1の#include <ビット/ STDC ++ H>
 2  使用して 名前空間STDを、
3  INT メイン(){
 4      COUT << " INT的最大最小值" << ENDL。 
5      coutの<< INT_MAX << てendl; 
6      COUT << INT_MIN << ENDL。 
7      裁判所未満<< " 長期的最大最小值" << てendl; 
8      COUT << LONG_MAX << ENDL。 
9      COUT << LONG_MIN << ENDL。 
10の      coutの<< "endl; 
11      COUT << LONG_LONG_MAX << ENDL。 
12      COUT << LONG_LONG_MIN << ENDL。 
13      裁判所未満<< " 長い長いunsiged的最大最小值" << てendl; 
14      COUT << ULLONG_MAX << ENDL。 
15      // 符号なしの長い長い最小值为0 
16      coutの<< " フロート的最大最小值" << てendl; 
17      coutの<< FLT_MAX << てendl; 
18      COUT << FLT_MIN << ENDL。 
19の      coutの<< "endl; 
20      COUT << DBL_MAX << ENDL。 
21      COUT << DBL_MIN << ENDL。 
22      リターン 0 ;
23 }

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int main(){
 4     int n, k, m;
 5     cin >> n >> k >> m;
 6     long long t;
 7     long long ans = 0; //ans存储n(1)!+n(2)!+......+n(k)!的值 
 8     for (int i = 1; i <= k; i++) {  
 9         t = 1; //t存储n(i)!的值 
10         for (int j = n; j > 0; j -= i) {
11             t *= j;
12         }
13         ans += t;
14     }
15     if (m == 1) {
16         cout << ans << endl;
17     } else {
18         int res = 0; //res存储ans这个数各个位上的数字之和 
19         while (ans) {
20             res += ans % 10; //拆出每一位 
21             ans /= 10;
22         }
23         cout << res << endl;
24     }
25     return 0;
26 }

 

 

 

おすすめ

転載: www.cnblogs.com/fx1998/p/12600981.html