結果

問題 No.420 mod2漸化式
コンテスト
ユーザー butsurizuki
提出日時 2016-11-22 16:45:39
言語 C90
(gcc 12.4.0)
コンパイル:
gcc-12 -O2 -std=c90 -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
AC  
実行時間 35 ms / 1,000 ms
コード長 511 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 133 ms
コンパイル使用メモリ 30,628 KB
最終ジャッジ日時 2026-02-23 22:58:58
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 35
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c: In function ‘main’:
main.c:24:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   24 |         scanf("%d",&x);
      |         ^~~~~~~~~~~~~~

ソースコード

diff #
raw source code

#include <stdio.h>
#define K 2147483647

unsigned long long int nCr(int n,int r){
	if(n < r){return 0;}
	else if(n < 0 || r < 0){return 0;}
	int i,j,c[64] = {0};
	unsigned long long int t = 1;
	for(i = 2;i <= r;i++){c[i] = 1;}
	for(i = n;i >= n-r+1;i--){
		t*=i;
		for(j = 2;j <= r;j++){
			if(c[j]){
				if(!(t%j)){t/=j;c[j] = 0;}
			}
		}
	}
	return t;
}

int main(void) {
	int x;
	unsigned long long int r1,r2;
	scanf("%d",&x);
	r1 = nCr(31,x);
	r2 = nCr(30,x-1);
	printf("%llu %llu\n",r1,K*r2);
	return 0;
}
0