Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- float absFloat(float f) {
- return f < 0? -f:f;
- }
- void tryEx(int dtpi, float *dtp, float *pt, float dtb, int n) {
- if(dtpi < n) {
- for(float d = 0.25; d<= 10; d+=0.25) {
- dtp[dtpi] = d;
- tryEx(dtpi+1, dtp,pt,dtb,n);
- }
- } else {
- float tutor = 0;
- for(int d = 0; d < n; d++) {
- tutor += dtp[d] * (pt[d] / 100.0);
- }
- if(absFloat(tutor - dtb) < 0.05) {
- for(int d = 0; d < n; d++) {
- cout << dtp[d] << " ";
- }
- cout << endl;
- }
- }
- }
- int main(){
- int n;
- cin >> n;
- float *pt = new float[n];
- for(int pti = 0; pti < n; pti++) {
- cin >> pt[pti];
- }
- float dtb;
- cin >> dtb;
- float *dtp = new float[n];
- tryEx(0, dtp, pt, dtb, n);
- return 0;
- }
Add Comment
Please, Sign In to add comment