結果
| 問題 |
No.181 A↑↑N mod M
|
| コンテスト | |
| ユーザー |
👑 testestest
|
| 提出日時 | 2016-10-25 03:59:38 |
| 言語 | C90 (gcc 12.3.0) |
| 結果 |
AC
|
| 実行時間 | 1 ms / 5,000 ms |
| コード長 | 420 bytes |
| コンパイル時間 | 111 ms |
| コンパイル使用メモリ | 22,144 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-24 03:31:11 |
| 合計ジャッジ時間 | 1,088 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 6 |
| other | AC * 37 |
コンパイルメッセージ
main.c:1:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
1 | gcd(p,q){return q?gcd(q,p%q):p;}
| ^~~
main.c: In function ‘gcd’:
main.c:1:1: warning: type of ‘p’ defaults to ‘int’ [-Wimplicit-int]
main.c:1:1: warning: type of ‘q’ defaults to ‘int’ [-Wimplicit-int]
main.c: At top level:
main.c:2:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
2 | phi(m){
| ^~~
main.c: In function ‘phi’:
main.c:2:1: warning: type of ‘m’ defaults to ‘int’ [-Wimplicit-int]
main.c: At top level:
main.c:7:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
7 | mod3(a,n,m){return n?n%2?mod3(a*a%m,n/2,m)*a%m:mod3(a*a%m,n/2,m):1;}
| ^~~~
main.c: In function ‘mod3’:
main.c:7:1: warning: type of ‘a’ defaults to ‘int’ [-Wimplicit-int]
main.c:7:1: warning: type of ‘n’ defaults to ‘int’ [-Wimplicit-int]
main.c:7:1: warning: type of ‘m’ defaults to ‘int’ [-Wimplicit-int]
main.c: At top level:
main.c:8:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
8 | mod4(a,n,m){
| ^~~~
main.c: In function ‘mod4’:
main.c:8:1: warning: type of ‘a’ defaults to ‘int’ [-Wimplicit-int]
main.c:8:1: warning: type of ‘n’ defaults to ‘int’ [-Wimplicit-int]
main.c:8:1: warning: type of ‘m’ defaults to ‘int’ [-Wimplicit-int]
main.c: At top level:
main.c:16:1: warning: data definition has no type or storage class
16 | a,n,m;
| ^
main.c:16:1: warning: type defaults to ‘int’ in declaration of ‘a’ [-Wimplicit-int]
main.c:16:3: warning: type defaults to ‘int’ in declaration of ‘n’ [-Wimplicit-int]
16 | a,n,m;
| ^
main.c:16:5: warning: type defaults to ‘int’ in declaration of ‘m’ [-Wimplicit-int]
16 | a,n,m;
| ^
main.c:17:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
17 | main(){
| ^~~~
main.c: In function ‘main’:
main.c:18:9: warning: implicit declaration of funct
ソースコード
gcd(p,q){return q?gcd(q,p%q):p;}
phi(m){
int i,s=0;
for(i=1;i<m;i++)s+=gcd(m,i)==1;
return s;
}
mod3(a,n,m){return n?n%2?mod3(a*a%m,n/2,m)*a%m:mod3(a*a%m,n/2,m):1;}
mod4(a,n,m){
if(m==1)return 0;
if(n<1)return n?a%m:1;
if(n==2)return mod3(a%m,a,m);
if(n==3&&a==2)return 16%m;
return mod3(a%m,mod4(a,n-1,phi(m))+(m-1)*phi(m),m);
}
a,n,m;
main(){
scanf("%d%d%d",&a,&n,&m);
printf("%d",mod4(a,n,m));
return 0;
}
testestest