結果
| 問題 |
No.1006 Share an Integer
|
| コンテスト | |
| ユーザー |
pengin_2000
|
| 提出日時 | 2020-03-11 13:13:42 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 8 ms / 2,000 ms |
| コード長 | 655 bytes |
| コンパイル時間 | 160 ms |
| コンパイル使用メモリ | 30,976 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-16 00:06:26 |
| 合計ジャッジ時間 | 1,218 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 19 |
ソースコード
#include<stdio.h>
int abs(int n)
{
if (n < 0)
n *= -1;
return n;
}
int f(int n)
{
int d = 1, m = n;
int c, i;
for (i = 2; i * i <= n; i++)
{
if (n % i == 0)
{
c = 1;
while (n % i == 0)
{
c++;
n /= i;
}
d *= c;
}
}
if (n > 1)
d *= 2;
return m - d;
}
int main()
{
int x;
scanf("%d", &x);
int s, t;
s = x / 2 - 1000;
if (s <= 0)
s = 1;
t = x / 2 + 1000;
if (t >= x)
t = x - 1;
int i;
int min = 1000000009;
for (i = s; i <= t; i++)
if (min > abs(f(i) - f(x - i)))
min = abs(f(i) - f(x - i));
for (i = s; i <= t; i++)
if (abs(f(i) - f(x - i)) == min)
printf("%d %d\n", i, x - i);
return 0;
}
pengin_2000