Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- nr maxim:
- int nrmaxim (int n)
- {
- int m=n,max=n,nrc=1,c,f=1;
- while (m>9) { ++nrc; m/=10; f*=10;}
- for (int i=1;i<nrc;++i) {
- c=n/f; n=n%f*10+c;
- if (n>max) max=n;
- }
- return max;
- }
- phi:
- int Phi(int n)
- {
- int r = n , d = 2;
- while(n > 1)
- {
- if(n % d == 0)
- {
- r = r / d * (d - 1);
- while(n % d == 0)
- n /= d;
- }
- d ++;
- if(d * d > n)
- d = n;
- }
- return r;
- }
- factorial2:
- int det(int n)
- {
- int p = 1 , k = 1;
- while(p < n) k ++ , p *= k;
- if(p == n) return p;
- int t = p / k;
- if(n - t <= p - n) return t;
- else return p;
- }
- numere norocoase:
- int norocoase(int a,int b)
- {
- int c=0,i;
- if (a%2==0)
- for (i=a+1;i<=b;i+=2)
- c++;
- else
- for (i=a;i<=b;i+=2)
- c++;
- return c;
- }
- zerofact:
- int nz (int n)
- {
- int k=0;
- for (int i=5; i<=n; i*=5)
- {
- k+=n/i;
- }
- return k;
- }
- poz:
- int poz(int x1, int y1, int l1, int i1, int x2, int y2, int l2, int i2)
- {
- int r;
- if (x1==x2 && y1==y2 && l1==l2 && i1==i2) r=1;
- else
- {
- if (x1+l1<x2 || y1+i1<y2 || x2+l2<x1 || y2+i2<y1 ) r=2;
- else
- {
- if ((x1<x2 && y1<y2 && x1+l1>x2+l2 && y1+i1>y2+i2) || (x2<x1 && y2<y1 && x2+l2>x1+l1 && y2+i2>y1+i1)) r=0;
- else
- r=3;
- }
- }
- return r;
- }
- resturi1:
- #include <iostream>
- using namespace std;
- int resturi(int n, int x, int y, int r) {
- int nr = 0, i;
- if (x > y) {
- int temp = y;
- y = x;
- x = temp;
- }
- for (i = r; i <= n; i += y) {
- if (i % x == r)
- nr++;
- }
- return nr;
- }
- diofantic:
- int diofantic(int n, int s[50001], int a,long long b,int c)
- {
- int k=0;int i=1; int j=n;
- while(i<=n && j>0)
- {
- if(a*s[i]*s[i]+b*s[j]*s[j]==c )
- {
- k++;
- i++;
- }
- if(a*s[i]*s[i]+b*s[j]*s[j]<c)
- i++;
- if(a*s[i]*s[i]+b*s[j]*s[j]>c)
- j--;
- }
- return k;
- }
- FRadical:
- void FRadical (int n, int &x, int &y)
- {
- x = 1;
- y = 1;
- int d = 2;
- while (n > 1) {
- int e = 0;
- while (n % d == 0) {
- e ++;
- n = n / d;
- }
- if (e) {
- if (e % 2 == 0)
- x = x * pow(d, e / 2);
- else {
- y = y * d;
- e --;
- if (e)
- x = x * pow (d, e / 2);
- }
- }
- d ++;
- }
- }
- FInserare:
- int inserare (int &n) {
- int x, v[15], k = 1;
- x = n;
- while (x)
- {
- v[k++] = x % 10;
- x = x / 10;
- }
- for (int i = k - 1; i >= 2; i--)
- {
- x = x * 10 + v[i];
- x = x * 10 + abs(v[i] - v[i-1]);
- }
- x = x * 10 + v[1];
- n = x;
- return n;
- }
- Impare_bac:
- void Impare (int &n) {
- int aux, uc, p = 1;
- aux = n;
- while (aux > 0) {
- uc = aux % 10;
- if (uc % 2 != 0)
- n -= p;
- p *= 10;
- aux /= 10; }
- }
- maxprime:
- int prim(int nr)
- {
- int prim=1;
- if(nr==0 || nr==1)
- prim=0;
- if(nr>2 && nr%2==0)
- prim=0;
- for(int d=3;d*d<=nr;d+=2)
- if(nr%d==0)
- prim=0;
- return prim;
- }
- void sub(int n,int &a,int &b)
- {
- bool stop=false,a1=false,b1=false;
- n--;
- while(n && stop==false)
- {
- if(prim(n))
- if(a1==false)
- a=n,a1=true;
- else
- b=n,b1=true;
- if(a1==true && b1==true)
- stop=1;
- n--;
- }
- }
- interval factorial:
- void interval(int n,int &a,int &b)
- {
- int f=1;
- for(int i=2;i<n;i++)
- f=f*i;
- a=f+1;
- b=f*n*(n+1)-1; }
Advertisement
Add Comment
Please, Sign In to add comment