結果
| 問題 | No.152 貯金箱の消失 |
| コンテスト | |
| ユーザー |
suppy193
|
| 提出日時 | 2015-07-02 11:38:57 |
| 言語 | C(gnu17) (gcc 15.2.0) |
| 結果 |
AC
|
| 実行時間 | 56 ms / 5,000 ms |
| コード長 | 853 bytes |
| 記録 | |
| コンパイル時間 | 332 ms |
| コンパイル使用メモリ | 40,152 KB |
| 最終ジャッジ日時 | 2026-02-23 18:37:48 |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
| 純コード判定しない問題か言語 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 12 |
コンパイルメッセージ
main.c: In function 'each_prime':
main.c:4:5: warning: type of 'm' defaults to 'int' [-Wimplicit-int]
4 | int each_prime(m, n) {
| ^~~~~~~~~~
main.c:4:5: warning: type of 'n' defaults to 'int' [-Wimplicit-int]
ソースコード
#include <stdio.h>
#include <math.h>
int each_prime(m, n) {
long long int m1;
long long int tmp;
int flag;
if(m < n){
tmp = m;
m = n;
n = tmp;
}
flag = 1;
for(;;){
m1 = m % n;
if(n == 1){
return 1;
}
if(m1 == 0){
return 0;
}
else if(m1 == 1){
return 1;
}
m = n;
n = m1;
}
//printf("%d\n", flag);
//return flag;
}
int main(void) {
long long int m, n, l;
long long int a, b, c;
long long int count;
scanf("%lld", &l);
count = 0;
for(m = 2;m < 2 * sqrt(l / 12);m++){
for(n = 1;n < m;n++){
//printf("%d, %d\n", m, n);
if((m - n) % 2 == 1 && each_prime(m, n) == 1){
a = m * m - n * n;
b = 2 * m * n;
c = m * m + n * n;
if((a + b + c) * 4 <= l){
//printf("%d, %d:(%d, %d, %d)\n", m, n, a, b, c);
count++;
}
}
}
}
printf("%lld\n", count % 1000003);
return 0;
}
suppy193