結果
| 問題 |
No.167 N^M mod 10
|
| コンテスト | |
| ユーザー |
TLwiegehtt
|
| 提出日時 | 2015-07-12 22:20:57 |
| 言語 | C90 (gcc 12.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,040 bytes |
| コンパイル時間 | 267 ms |
| コンパイル使用メモリ | 21,760 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-07-08 06:10:07 |
| 合計ジャッジ時間 | 1,761 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 20 WA * 7 |
コンパイルメッセージ
main.c: In function ‘main’:
main.c:60:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
60 | scanf("%s", n);
| ^~~~~~~~~~~~~~
main.c:61:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
61 | scanf("%s", m);
| ^~~~~~~~~~~~~~
ソースコード
#include <stdio.h>
int sub(char *s){
int i, len;
int mod = 0;
int minus = 0;
for(len=0;s[len] != '\0';len++);
for(i=len-1;i>0 ;i--){
if(minus == 1){
if(s[i] == '0'){
s[i] = '9';
minus = 1;
}else{
char num = (char)(s[i] - '0' - 1);
s[i] = (char)(num+'0');
minus = 0;
}
}else{
if( s[i] == '0'){
s[i] = '9';
minus = 1;
}else{
char num = (char)(s[i] - '0' - 1);
s[i] = (char)(num+'0');
}
}
if(minus == 0){break;}
}
for(i=0;i<len;i++){
mod = mod*10 + (int)(s[i]-'0');
mod = mod%4;
}
return mod+1;
}
int main(void){
int ans[10][5] = {
{0, 0, 0, 0, 0},
{0, 1, 1, 1, 1},
{0, 2, 4, 6, 8},
{0, 3, 9, 7, 1},
{0, 4, 6, 4, 6},
{0, 5, 5, 5, 5},
{0, 6, 6, 6, 6},
{0, 7, 9, 3, 1},
{0, 8, 4, 2, 6},
{0, 9, 1, 9, 1}
};
int num;
int len;
int mul;
char n[10010];
char m[10010];
scanf("%s", n);
scanf("%s", m);
for(len=0;n[len] != '\0';len++);
num = (int)(n[len-1]-'0');
mul = sub(m);
printf("%d\n", ans[num][mul]);
return 0;
}
TLwiegehtt