結果

問題 No.109 N! mod M
ユーザー 👑 hos.lyric
提出日時 2015-02-17 22:29:17
言語 C90
(gcc 12.3.0)
結果
AC  
実行時間 97 ms / 5,000 ms
コード長 242 bytes
コンパイル時間 261 ms
コンパイル使用メモリ 20,992 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-06-22 04:50:08
合計ジャッジ時間 945 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 9
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c:1:1: warning: data definition has no type or storage class
    1 | n,m;long long a,b;main(t){for(scanf("%d",&t);t--;a=0){scanf("%d%d",&n,&m);for(b=1;b*++b<=m;)if(m%b<1){if(n<b+m/b)for(a=1;n;)a=a*n--%m;goto l;}if(n<m){for(b=1;++n<m;)b=b*n%m;for(a=m-1,n-=2;n;n/=2,b=b*b%m)if(n&1)a=a*b%m;}l:printf("%lld\n",a);}}
      | ^
main.c:1:1: warning: type defaults to ‘int’ in declaration of ‘n’ [-Wimplicit-int]
main.c:1:3: warning: type defaults to ‘int’ in declaration of ‘m’ [-Wimplicit-int]
    1 | n,m;long long a,b;main(t){for(scanf("%d",&t);t--;a=0){scanf("%d%d",&n,&m);for(b=1;b*++b<=m;)if(m%b<1){if(n<b+m/b)for(a=1;n;)a=a*n--%m;goto l;}if(n<m){for(b=1;++n<m;)b=b*n%m;for(a=m-1,n-=2;n;n/=2,b=b*b%m)if(n&1)a=a*b%m;}l:printf("%lld\n",a);}}
      |   ^
main.c:1:19: warning: return type defaults to ‘int’ [-Wimplicit-int]
    1 | n,m;long long a,b;main(t){for(scanf("%d",&t);t--;a=0){scanf("%d%d",&n,&m);for(b=1;b*++b<=m;)if(m%b<1){if(n<b+m/b)for(a=1;n;)a=a*n--%m;goto l;}if(n<m){for(b=1;++n<m;)b=b*n%m;for(a=m-1,n-=2;n;n/=2,b=b*b%m)if(n&1)a=a*b%m;}l:printf("%lld\n",a);}}
      |                   ^~~~
main.c: In function ‘main’:
main.c:1:19: warning: type of ‘t’ defaults to ‘int’ [-Wimplicit-int]
main.c:1:31: warning: implicit declaration of function ‘scanf’ [-Wimplicit-function-declaration]
    1 | n,m;long long a,b;main(t){for(scanf("%d",&t);t--;a=0){scanf("%d%d",&n,&m);for(b=1;b*++b<=m;)if(m%b<1){if(n<b+m/b)for(a=1;n;)a=a*n--%m;goto l;}if(n<m){for(b=1;++n<m;)b=b*n%m;for(a=m-1,n-=2;n;n/=2,b=b*b%m)if(n&1)a=a*b%m;}l:printf("%lld\n",a);}}
      |                               ^~~~~
main.c:1:1: note: include ‘<stdio.h>’ or provide a declaration of ‘scanf’
  +++ |+#include <stdio.h>
    1 | n,m;long long a,b;main(t){for(scanf("%d",&t);t--;a=0){scanf("%d%d",&n,&m);for(b=1;b*++b<=m;)if(m%b<1){if(n<b+m/b)for(a=1;n;)a=a*n--%m;goto l;}if(n<m){for(b=1;++n<m;)b=b*n%m;for(a=m-1,n-=2;n;n/=2,b=b*b%m)if(n&1)a=a*b%m;}l:printf("%lld\n",a);}}
main.c:1

ソースコード

diff #

n,m;long long a,b;main(t){for(scanf("%d",&t);t--;a=0){scanf("%d%d",&n,&m);for(b=1;b*++b<=m;)if(m%b<1){if(n<b+m/b)for(a=1;n;)a=a*n--%m;goto l;}if(n<m){for(b=1;++n<m;)b=b*n%m;for(a=m-1,n-=2;n;n/=2,b=b*b%m)if(n&1)a=a*b%m;}l:printf("%lld\n",a);}}
0