Sum of First N Natural Numbers in C
Formula: n(n+1)/2 (Gauss, O(1))
Loop method: Learning/interviews (O(n))
1. Mathematical Formula (Production)
C
O(1) time - Overflow safe
#include<stdio.h>
long long sumNatural(int n) {
return (long long)n * (n + 1) / 2;
}
int main() {
int n;
printf("Enter N: ");
scanf("%d", &n);
printf("Sum = %lld\n", sumNatural(n));
return 0;
}
N=100 → 5050 (Instant)
2. For Loop (Interview Demo)
C
Traditional O(N) approach
#include<stdio.h>
int main() {
int n, sum = 0;
printf("Enter N: ");
scanf("%d", &n);
for(int i = 1; i <= n; i++) {
sum += i;
}
printf("Sum = %d\n", sum);
return 0;
}
3. While Loop Alternative
C
Same logic, different syntax
#include<stdio.h>
int main() {
int n, i = 1, sum = 0;
printf("Enter N: ");
scanf("%d", &n);
while(i <= n) {
sum += i;
i++;
}
printf("Sum = %d\n", sum);
return 0;
}
4. Production-Ready (Validation + Verification)
C
Input validation + dual verification
#include<stdio.h>
long long formulaSum(int n) {
if(n < 1) return 0;
return (long long)n * (n + 1) / 2;
}
long long loopSum(int n) {
long long sum = 0;
for(int i = 1; i <= n; i++) sum += i;
return sum;
}
int main() {
int n;
printf("Enter positive integer N: ");
scanf("%d", &n);
if(n < 1) {
printf("Error: N must be >= 1\n");
return 1;
}
long long formula = formulaSum(n);
long long verify = loopSum(n);
printf("Formula: %lld ✓\n", formula);
printf("Loop: %lld ✓\n", verify);
printf("Match: %s\n", formula == verify ? "PASS" : "FAIL");
return 0;
}
5. Test Cases
TEXT
Expected outputs
N | Formula | Result
--+-------------+-------
1 | 1(2)/2 | 1
5 | 5(6)/2 | 15
10 |10(11)/2 | 55
50 |50(51)/2 | 1275
100|100(101)/2 | 5050
6. Performance Comparison
TEXT
Time complexity
Method | Time | Space | Use Case
-----------|--------|-------|----------
Formula | O(1) | O(1) | Production
For Loop | O(N) | O(1) | Learning
While Loop | O(N) | O(1) | Interviews
7. Overflow Protection
TEXT
int vs long long limits
int (32-bit): Max N = 46,340
long long (64-bit): Max N = 9.2e18
Use: (long long)n * (n + 1) / 2
8. Interview Tips
Quick Copy-Paste
C
One-liner formula
long long sum = (long long)n * (n + 1) / 2;
Production: Formula method.
Learning: Loop method.
Codecrown