Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "iostream"
- #define VAR 333 // Óêàçàòü öèôðû ñâîåãî ñòóä øèôðà
- int y, n, r, N_op, z;
- int f(int x)
- { N_op++; // ( x )
- n++; N_op++; // ++
- std::cout<< " f("<<x<<")"; N_op++; // cout
- N_op++; // (x>0)
- if (x>0)
- {
- r++; N_op++; // ++
- /* (*) */
- /// return f(x/3)+ f(x-2)+f(0); N_op+=8; // / (.) + - (.) + (.) return
- N_op+=9;
- return f(x/3)+f(x-1)-f(4*x/6); // ìåíÿåì ñòðîêó
- }
- else
- {
- std::cout<< std::endl; N_op++; // cout
- z++; N_op++; N_op++; // ++
- return 1; N_op++; // return
- };
- };
- void variant(void)
- {
- int var = (VAR<100)?VAR+100:VAR;
- int v1, v2, v3;
- v1 = var % 10 ; //3 v1
- v2 = var / 10 % 10; //0 v2
- v3 = var / 100 % 10; //4 v3
- std::cout <<std::endl<<std::endl<< "(Student: "<<VAR<<")----> f";
- if (v1 > 5) std::cout <<"(x - "<<v1% 3+1<<")";
- else std::cout <<"(x / "<<v1% 2+2<<")"; //3
- std::cout << " + f";
- if (v2 < 5) std::cout <<"(x - "<<v2% 3+1<<")"; //1
- else std::cout <<"(x / "<<v2%2+2<<")";
- if (((v3+v2+v1)% 3)==0) std::cout << " - f("<<v1+1<<"*x/"<<v1+3<<")" << std::endl;
- if (((v3+v2+v1)% 3)==1) std::cout << " + f("<<"x -"<<v2<<") " << std::endl;
- if (((v3+v2+v1)% 3)==2) std::cout << " * f(3*x/5)" << std::endl;
- };
- int main(void)
- {
- n=0; // Îáùåå êîëè÷åñòâî âûçîâîâ
- r= 0; // Îáùåå êîëè÷åñòâî âíóòðåííèõ óçëîâ
- z= 0; // Îáùåå êîëè÷åñòâî ëèñòüåâ
- N_op=0; // Îáùåå êîëè÷åñòâî èíñòðóêöèé
- int N = 6; // Ãëóáèíà ðåêóðñèè
- f(N);
- std::cout<<" N = "<< N << " r = "<< r << " z = " << z<< " N_op ="<<N_op;
- variant();
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement