#include<time.h>
#include<stdlib.h>
#include<stdio.h>
double float_rand(int nLow, int nHigh){
double dec_part = (rand()%100)*0.01;
float int_part = (rand()%(nHigh-nLow))+nLow;;
return int_part+dec_part;
}
double getNum(double target, double mistake){
mistake/=100;
return float_rand(target*(1-mistake), target*(1+mistake));
}
double count_mis(double target, double rand){
return (double)((rand-target)/target)*100;
}
int main(int argc, char *argv[]){
printf("A X C\n");
int i,count=50;
(unsigned)time(NULL);
double target=250;
double mistake=0.4;
double a=target,b;
double sum=0;
for(i=0;i<count;i++){
b=getNum(a, mistake);
sum+=(b);
printf("%.2f %.2f %.2f\n", a, b, count_mis(a,b));
a=b;
}
target*=count;
printf("----------\nA X C\n%.2f %.2f %.2f", sum, target, count_mis(target, sum));
return 0;
}
I2luY2x1ZGU8dGltZS5oPgojaW5jbHVkZTxzdGRsaWIuaD4KI2luY2x1ZGU8c3RkaW8uaD4KCmRvdWJsZSBmbG9hdF9yYW5kKGludCBuTG93LCBpbnQgbkhpZ2gpewoJZG91YmxlIGRlY19wYXJ0ID0gKHJhbmQoKSUxMDApKjAuMDE7CglmbG9hdCBpbnRfcGFydCA9IChyYW5kKCklKG5IaWdoLW5Mb3cpKStuTG93OzsKCXJldHVybiBpbnRfcGFydCtkZWNfcGFydDsKfQoKZG91YmxlIGdldE51bShkb3VibGUgdGFyZ2V0LCBkb3VibGUgbWlzdGFrZSl7CgltaXN0YWtlLz0xMDA7CglyZXR1cm4gZmxvYXRfcmFuZCh0YXJnZXQqKDEtbWlzdGFrZSksIHRhcmdldCooMSttaXN0YWtlKSk7Cn0KCmRvdWJsZSBjb3VudF9taXMoZG91YmxlIHRhcmdldCwgZG91YmxlIHJhbmQpewoJcmV0dXJuIChkb3VibGUpKChyYW5kLXRhcmdldCkvdGFyZ2V0KSoxMDA7Cn0KaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSl7CglwcmludGYoIkEgWCBDXG4iKTsKCWludCBpLGNvdW50PTUwOwoJKHVuc2lnbmVkKXRpbWUoTlVMTCk7Cglkb3VibGUgdGFyZ2V0PTI1MDsKCWRvdWJsZSBtaXN0YWtlPTAuNDsKCWRvdWJsZSBhPXRhcmdldCxiOwoJZG91YmxlIHN1bT0wOwoJZm9yKGk9MDtpPGNvdW50O2krKyl7CgkJYj1nZXROdW0oYSwgbWlzdGFrZSk7CgkJc3VtKz0oYik7CgkJcHJpbnRmKCIlLjJmICUuMmYgJS4yZlxuIiwgYSwgYiwgY291bnRfbWlzKGEsYikpOwoJCWE9YjsKCX0KCXRhcmdldCo9Y291bnQ7CglwcmludGYoIi0tLS0tLS0tLS1cbkEgWCBDXG4lLjJmICUuMmYgJS4yZiIsIHN1bSwgdGFyZ2V0LCBjb3VudF9taXModGFyZ2V0LCBzdW0pKTsKCXJldHVybiAwOwp9Cg==