Skip to main content

Sum of All Divisors from 1 to N

Introduction

In this blog, we will discuss the problem of finding the sum of all divisors from 1 to N. This problem is an observation-based problem with a tint of simple mathematics. We will explore different approaches and algorithms to solve this problem efficiently.

Understanding the Problem

The problem statement is self-explanatory. Given a number N, we need to find the sum of all its divisors from 1 to N.

Brute Force Approach

Initially, we can think of solving this problem using a brute force approach. We can iterate from 1 to N and check if each number is a divisor of N. If it is a divisor, we add it to the sum. However, this approach is not optimal for large values of N.

Optimized Approach

To optimize the solution, we can use a contribution technique. Instead of finding all the divisors individually, we can find the contribution of each number in the sum. Let's understand this technique with an example:

For N = 8:

  • 1 can contribute to all numbers from 1 to 8
  • 2 can contribute to all even numbers from 2 to 8
  • 3 can contribute to 3, 6
  • 4 can contribute to 4
  • 5 can contribute to 5
  • 6 can contribute to 6
  • 7 can contribute to 7
  • 8 can contribute to 8

Using this contribution technique, we can calculate the sum of all divisors without finding them individually.

Implementation

Let's implement the optimized approach in code:


long long sumOfDivisors(int N) {
    long long sum = 0;
    for (int i = 1; i <= N; i++) {
        sum += (N / i) * i;
    }
    return sum;
}

The time complexity of this solution is O(N), and the space complexity is O(1) as we are using only a few variables.

Conclusion

In this blog, we discussed the problem of finding the sum of all divisors from 1 to N. We explored the brute force approach and an optimized approach using the contribution technique. The optimized approach is more efficient for large values of N. We implemented the optimized approach in code with a time complexity of O(N) and a space complexity of O(1).

Thank you for reading and have a nice day!

Comments

Popular posts from this blog

The Journey of Ram Mandir Ayodhya

  Introduction Welcome to this blog where we will explore the complete journey of the Ram Temple in Ayodhya, from its humble beginnings to its grand existence. Ayodhya holds a significant place in the religious and cultural tapestry of India, as it is believed to be the birthplace of Lord Ram, one of the most revered deities in Hinduism. The history of the Ram Temple is deeply intertwined with the socio-political landscape of India, with numerous debates and legal battles that have shaped its destiny. Let's delve into the rich history and significance of this sacred place. Ancient Origins According to Hindu mythology, Ayodhya is considered the birthplace of Lord Ram, the seventh avatar of Lord Vishnu. The ancient epic, Ramayana, narrates the story of Lord Ram's birth in Ayodhya and his journey to become a revered deity. The city of Ayodhya remained an important religious and cultural center throughout history, with various rulers and dynasties paying homage to Lord Ram and u...

Palindrome number (DSA)

Problem statement Check whether a given number   ’n’   is a palindrome number.   Example: Input: 'n' = 51415 Output: true Explanation: On reversing, 51415 gives 51415. Checking for Palindrome Numbers Palindrome numbers are numbers that read the same backward as forward. For example, 121 and 12321 are palindrome numbers. To check if a number is a palindrome, we can reverse the number and compare it with the original number. If they are the same, the number is a palindrome; otherwise, it is not. Using the concepts of extracting digits and reversing a number, we can efficiently check for palindrome numbers. bool  palindrome(int n) {      // Write your code here     int num= 0 ,temp;      for (int i=n; i> 0 ;i=i/ 10 )     {         temp=i% 10 ;         num=(num* 10 )+temp...

“Emerging AI: The Future of Technology Unveiled!”

  Today, we’re diving deep into the cutting-edge world of Artificial Intelligence — specifically, exploring the latest and most exciting developments in the field. Get ready to witness the wonders of Emerging AI as we unravel how it’s reshaping our world and what we can expect in the near future. If you’re as fascinated as I am about the potential of AI, don’t forget to hit that like button and subscribe, so you won’t miss any of our tech explorations. Let’s jump right in! AI-Powered Healthcare One of the most revolutionary applications of Emerging AI is in healthcare. From diagnosing diseases with unprecedented accuracy to assisting in surgeries, AI is transforming patient care. Imagine a world where AI-driven medical imaging can detect diseases at earlier stages, potentially saving countless lives. Today, we’ll witness some incredible AI-powered healthcare solutions that are making waves in the medical community. AI and Creative Industries AI’s capabilities are not limited to tec...