Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int SNOD1(int n)//O(n) approach
- {
- int res=0;
- for(int i=1;i<=n;i++)
- {
- res+=n/i;
- }
- return res;
- }
- int SNOD(int n)//O(sqrtN)approach
- {
- int res=0;
- int u=sqrt(n);
- for(int i=1;i<=u;i++)
- {
- res+=(n/i)-i;
- }
- res*=2;
- res+=u;
- return res;
- }
- int main()
- {
- int n;
- cin>>n;
- int ans1=SNOD(n);
- int ans2=SNOD1(n);
- cout<<ans1<<" "<<ans2<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment