結果

問題 No.537 ユーザーID
ユーザー michonz4
提出日時 2019-12-25 16:03:33
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 15 ms / 2,000 ms
コード長 627 bytes
コンパイル時間 237 ms
コンパイル使用メモリ 39,168 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-09-25 03:38:49
合計ジャッジ時間 1,367 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 32
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int compareStrUp(const void *a, const void *b) {
  return strcmp((const char *)a, (const char *)b);
}

int main() {
  long long n, i, j=0, cnt=0;
  scanf("%lld", &n);
  char arr[10000][16];

  for (int i=1; i<=sqrt(n); i++) {
    if (n%i==0) {
      snprintf(arr[j++], 16, "%d%lld", i, n/i);
      snprintf(arr[j++], 16, "%lld%d", n/i, i);
      cnt+=2;
    }
  }

  qsort(arr, cnt, sizeof(arr[0]), compareStrUp);

  int dub=0;
  for (int i=0; i<cnt-1; i++) {
    if (strcmp(arr[i], arr[i+1])==0) dub++;
  }

  printf("%d\n", cnt-dub);
  return 0;
}
0