#include <stdio.h> int binarySerach(int a[], int len, int key) { int low = 0, high = len - 1, mid; while (low < high) { mid = low + (high - low) / 2; if (a[mid] < key) { low++; } else if (a[mid] > key) { high--; } else { return mid; } } return -1; } int main() { int min[10001]; int max[10001]; int flag[10001] = {0}; int gap = 1; for (int i = 1;i < 10001;i++) { if (!flag[i]) { flag[i] = 1; min[gap] = i; max[gap] = i + gap; if (i + gap < 10001) { flag[i + gap] = 1; } gap++; } } int a, b; while(scanf("%d %d", &a, &b) != EOF) { int res = 1; int maxN = a > b ? a : b; int minN = a < b ? a : b; int index = binarySerach(min, gap, minN); if (index > 0 && max[index] == maxN) { res = 0; } printf("%d\n", res); } } |
Double click to view unformatted code.