#include <stdio.h>
#include<iostream>
#include<math.h>
#define MAX 10001
using namespace std;
bool flag[MAX];
int primes[MAX];
int cnt;
void sieve(int n)
{
cnt=0;
primes[cnt++] = 2;
for(int i=3; i<=n; i+=2)
{
if(flag[i] == 0)
{
primes[cnt++] = i;
if(i <= n/i)
{
for(int j=i*i; j<=n; j+=i*2)
flag[j] = 1;
}
}
}
return ;
}
int main()
{
int tc, n;
sieve(MAX);
scanf("%d",&tc);
while ( tc-- )
{
scanf("%d",&n);
int ans = primes[0];
for (int i=0; i<cnt && primes[i]<=n; i++)
if ( n % primes[i] > n % ans )
printf("v=%d\tm=%d\n",n % primes[i],n % ans);
ans = primes[i];
/// printf("%d\n",ans);
}
return 0;
}
0 Comments