Cod sursa(job #2492716)
| Utilizator | Data | 15 noiembrie 2019 10:10:17 | |
|---|---|---|---|
| Problema | Oz | Scor | 0 |
| Compilator | c-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 1.03 kb |
#include <stdio.h>
#include <stdlib.h>
FILE *fin , *fout;
int main() {
fin=fopen("nrdivunique.in","r");
fout=fopen("nrdivunique.out","w");
int n,a,b,i,j,d,c,x,y;
fscanf(fin,"%d",&n);
for(i=0;i<n;i++) {
fscanf(fin,"%d%d",&a,&b);
if(b>=2*a) {
fprintf(fout,"%d\n",b);
}
else {
c=0;
d=2000000000;
j=1;
while(j*j<=b && j<=d) {
x=a/j;
if(a%j!=0) {
x++;
}
y=b/j;
if(x<=y) {
c++;
}
if(j+1>x) {
x=j+1;
}
if(d<y) {
y=d;
}
if(x<=y) {
c+=y-x+1;
d=x-1;
}
j++;
}
fprintf(fout,"%d\n",c);
}
}
fclose(fin);
fclose(fout);
return 0;
}
