Submission #117054


Source Code Expand

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cassert>
#include <cctype>
#include <cmath>
#include <iostream>
#include <string>
#include <vector>
#include <queue>
#include <map>
#include <algorithm>
#include <complex>
#define REP(i, n) for(int i = 0; i <(int)(n); ++i)
#define FOR(i,c) for(__typeof((c).begin()) i=(c).begin(); i!=(c).end(); ++i)
using namespace std;

typedef long long ll;

const int MAX_PRIME = 100000;
bool isNotPrime[MAX_PRIME];
int nPrime;
ll primes[MAX_PRIME];

void initPrime(void) {
  isNotPrime[0] = isNotPrime[1] = true;
  REP(i, MAX_PRIME)
    if(!isNotPrime[i])
      for(int j = 2 * (primes[nPrime++] = i); j < MAX_PRIME; j += i)
	isNotPrime[j] = true;
}
bool isPrime(ll v) {
  if(v < MAX_PRIME)
    return !isNotPrime[v];
  REP(i, nPrime)
    if(v % primes[i] == 0)
      return false;
  return true;
}

int main(void) {
  initPrime();
  ll n;
  while(true){
    scanf("%lld", &n);
    if(n == 0)
      break;
    int res = 0;
    REP(i, nPrime){
      ll p = primes[i];
      if(p * p > n)
	break;
      if(n % p == 0){
	res = p;
	while(n % p == 0)
	  n /= p;
      }
    }
    if(n > 1)
      res = n;
    printf("%d\n", res);
  }
  return 0;
}

Submission Info

Submission Time
Task B - Working for the World
User ush
Language C++ (G++ 4.6.4)
Score 100
Code Size 1263 Byte
Status AC
Exec Time 23 ms
Memory 1056 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:46:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 27
Set Name Test Cases
All 00-sample, 10-minimum, 11-maximum, 12-little, 13-large, 14-middle, 15-zero, 50-random00, 50-random01, 50-random02, 50-random03, 50-random04, 50-random05, 50-random06, 50-random07, 50-random08, 50-random09, 50-random10, 50-random11, 50-random12, 50-random13, 50-random14, 50-random15, 50-random16, 50-random17, 50-random18, 50-random19
Case Name Status Exec Time Memory
00-sample AC 20 ms 1052 KB
10-minimum AC 21 ms 1056 KB
11-maximum AC 20 ms 1052 KB
12-little AC 23 ms 856 KB
13-large AC 21 ms 928 KB
14-middle AC 21 ms 928 KB
15-zero AC 21 ms 924 KB
50-random00 AC 21 ms 928 KB
50-random01 AC 20 ms 928 KB
50-random02 AC 22 ms 920 KB
50-random03 AC 22 ms 864 KB
50-random04 AC 21 ms 1056 KB
50-random05 AC 21 ms 924 KB
50-random06 AC 21 ms 1052 KB
50-random07 AC 21 ms 928 KB
50-random08 AC 21 ms 912 KB
50-random09 AC 22 ms 1052 KB
50-random10 AC 22 ms 1052 KB
50-random11 AC 22 ms 1052 KB
50-random12 AC 22 ms 1052 KB
50-random13 AC 21 ms 1052 KB
50-random14 AC 21 ms 932 KB
50-random15 AC 20 ms 1056 KB
50-random16 AC 21 ms 928 KB
50-random17 AC 21 ms 1056 KB
50-random18 AC 21 ms 872 KB
50-random19 AC 22 ms 1052 KB