Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define ll long long
- #define ld long double
- #define lFOR(i, a, b) for(ll i=(a); i<=(b); i++)
- #define lFORn(i, n) for(ll i=1; i<=(n); i++)
- #define lFORx(i, a, b, n) for(ll i=(a); i<=(b); i+=(x))
- #define FORa(i, b) for(i; i<=(b); i++)
- #define FORax(i, b, x) for(i; i<=(b); i+=(x))
- #define lFORR(i, a, b) for(ll i=(a); i>=(b); i--)
- #define lFORRn(i, n) for(ll i=(n); i>=1; i--)
- #define lFORRx(i, a, b, n) for(ll i=(a); i>=(b); i-=(x))
- #define FORRa(i, b) for(i; i>=(b); i--)
- #define FORRax(i, b, x) for(i; i>=(b); i-=(x))
- #define iFOR(i, a, b) for(int i=(a); i<=(b); i++)
- #define iFORn(i, n) for(int i=1; i<=(n); i++)
- #define iFORx(i, a, b, n) for(int i=(a); i<=(b); i+=(x))
- #define iFORR(i, a, b) for(int i=(a); i>=(b); i--)
- #define iFORRn(i, n) for(int i=(n); i>=1; i--)
- #define iFORRx(i, a, b, n) for(int i=(a); i>=(b); i-=(x))
- #define pb(x) push_back(x)
- #define all(x) (x).begin(), (x).end()
- #define sz(x) (x).size()
- #define sqr(x) (ll)(x)*(x)
- #define PI (2*acos(0))
- using namespace std;
- template <typename T>
- inline void Read(T& x)
- {
- bool Neg = false;
- char c;
- for (c = getchar(); c < '0' || c > '9'; c = getchar())
- if (c == '-') Neg = !Neg;
- x = c - '0';
- for (c = getchar(); c >= '0' && c <= '9'; c = getchar())
- x = x * 10 + c - '0';
- if (Neg) x = -x;
- }
- template <typename T>
- inline void Write(T x)
- {
- if (x < 0)
- {
- putchar('-'); x = -x;
- }
- T p = 1;
- for (T temp = x / 10; temp > 0; temp /= 10) p *= 10;
- for (; p > 0; x %= p, p /= 10) putchar(x / p + '0');
- }
- void update(int* n){
- *n=(*n<4)?((*n==2)?3:5):((*n-1)%6)?(*n+2):(*n+4);
- }
- bool cprm(int n){
- if(n==2||n==3) return 1;
- if(n<2||n%2==0||n%3==0) return 0;
- for(int i=5; i<=sqrt(n); update(&i)) if(n%i==0) return 0;
- return 1;
- }
- //=================declare=================
- struct lmao{
- int val, ntrg;
- };
- lmao n;
- int a, b, dem;
- //=================..end..=================
- //=================function=================
- int calc(int x){
- if(x==1) return 0;
- int s=0;
- for(int i=2; x-1; update(&i)){
- if(x%i==0){
- s+=i;
- while(x%i==0) x/=i;
- }
- if(cprm(x)) s+=x, x=1;
- }
- return s;
- }
- //=================..end...=================
- int main(){
- //freopen("INPUT.inp", "r", stdin);
- //freopen("OUTPUT.out", "w", stdout);
- //ios_base::sync_with_stdio(0); cin.tie(0);
- //=================code=================
- cout<<"Nhap n: "; cin>>n.val;
- cout<<"So nguyen to rut gon cua n: "<<(n.ntrg=calc(n.val))<<'\n';
- cout<<"Nhap a, b: "; cin>>a>>b;
- cout<<"Cac so co cung so nguyen to voi n:\n";
- iFOR(i, a, b) if(calc(i)==n.ntrg){
- cout<<i<<' ';
- dem++;
- }
- cout<<"\nCo "<<dem<<" so";
- //=================end.=================
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement