题意:读题不好解释。
题解:暴力扫一遍就好了。
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <string>
#include <map>
#include <cstring>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#define ull unsigned long long
#define ll long long
#define INF 0x3f3f3f3f
using namespace std;
const int size = 1000010;
int a[size];
void init(){
for(int i =5 ; i <= size ; i+=4){
for(int j = 5 ; j <= size ; j+=4){
ll mu = i*j;
if(mu>size){
break;
}
if(a[i]==0&&a[j]==0){
a[mu] = 1;
}else{
a[mu] = -1;
}
}
}
int count = 0;
for(int i = 1 ; i <= size ; i++){
if(a[i]==1){
count++;
}
a[i] = count;
}
}
int main(){
init();
int x;
while(cin>>x&&x){
cout<<x<<" "<<a[x]<<endl;
}
}