Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- freopen("tmp.txt","r",stdin);
- //freopen("durak.out","w",stdout);
- char str[256]={0},str1[256]={0};
- int len=0, len1=0;
- int never=0, never1=0;
- int strict=0, strict1=0;
- float numb1=0.0f, numb2=0.0f;
- scanf("%s %s",str,str1);
- while (str[++len]){}
- str[len-1]=0;
- if (str[0] == '[') strict = 1;
- for (int i=0;i<len;i++)
- str[i] = str[i+1];
- len--;
- if (str[0] == '-') {
- never = 1;
- for (int i=0;i<len;i++)
- str[i] = str[i+1];
- len--;
- }
- //printf("%s - str\n",str);
- int findD=-1;
- for (int i=0;i<len;i++)
- if (str[i] == '/') {
- findD = i;
- break;
- }
- if (findD != -1) {
- int f1=0,f2=0;
- for (int i=0;i<findD;i++)
- f1 += (str[i]-48)*(int)pow(10.0f,(float)(findD-i-1));
- for (int i=findD+1;i<len;i++)
- f2 += (str[i]-48)*(int)pow(10.0f,(float)(len-i-2));
- //printf("%d/%d - drob' \n",f1,f2);
- numb1 = (never)?(-((float)f1/(float)f2)):((float)f1/(float)f2);
- } else {
- int f1=0;
- for (int i=0;i<len;i++)
- f1+=(str[i]-48)*(int)pow(10.0f,(float)(len-i-2));
- //printf("%d - chislo\n",f1);
- numb1 = (never)?(-(float)f1):(float)f1;
- }
- while (str1[++len1]){}
- if (str1[len1-1] == ']') strict1 = 1;
- if (str1[0] == '-') {
- never1 = 1;
- for (int i=0;i<len1;i++)
- str1[i] = str1[i+1];
- len1--;
- }
- //printf("\n%s - str\n",str1);
- findD = -1;
- for (int i=0;i<len1;i++)
- if (str1[i] == '/') {
- findD = i;
- break;
- }
- if (findD != -1) {
- int f1=0,f2=0;
- for (int i=0;i<findD;i++)
- f1 += (str1[i]-48)*(int)pow(10.0f,(float)(findD-i-1));
- for (int i=findD+1;i<len1;i++) {
- //printf("%d %d\n",(int)pow(10.0f,(float)(len1-i-1)),len1-i-1);
- f2 += (str1[i]-48)*(int)pow(10.0f,(float)(len1-i-2));
- numb2 = (never1)?(-((float)f1/(float)f2)):((float)f1/(float)f2);
- }
- //printf("%d/%d - drob' \n",f1,f2);
- } else {
- int f1=0;
- for (int i=0;i<len1;i++)
- f1+=(str1[i]-48)*(int)pow(10.0f,(float)(len1-i-2));
- //printf("%d - chislo\n",f1);
- numb2 = (never1)?(-(float)f1):(float)f1;
- }
- //printf("From %0.1f to %0.1f\n",numb1,numb2);
- int num=0;
- if (!strict) numb1 = ceil(numb1 + 0.1f);
- if (!strict1) numb2 = floor(numb2-0.1f);
- for (int i=(int)ceil(numb1);i<=(int)floor(numb2);i++)
- num++;
- printf("%d %d %d",num,(int)numb1,(int)numb2);
Advertisement
Add Comment
Please, Sign In to add comment