Program in c, to find the consecutive series of a number, example.
Input:24
Output: 7+8+9=24
Another example
Input:26
Output:5+6+7+8
Input:24
Output: 7+8+9=24
Another example
Input:26
Output:5+6+7+8
#include <stdio.h> void printNumber(int l,int f) { int x; for ( x = f; x<= l; x++) { printf(" %d +",x); } f++; } void getNumber(int n) { int last,first; for ( last=1; last<n; last++) { for ( first=0; first<last; first++) { if (2*n == (last-first)*(last+first+1)) { printf("%d =",n); printNumber(last, first+1); return; } } } printf("Not possible"); } int main() { int n; printf("Enter input:"); scanf("%d",&n); getNumber(n); return 0; }
void getNumber(int n) { int A; int B; int C; int D; int max = n / 3 + 1; int Y[1000]; int Z[1000]; for (A = 0; A <= max; A++) { B = A * (A + 1) / 2; Z[A] = B; Y[A] = B - n; } for (C = 0; C <= max; C++) { for (D = 0; D <= max; D++) { if (Z[C] == Y[D]) { printf("from %d to %d\n", C + 1, D); break; } } } }
void getNumber(int n) { int A; int B[1000]; int C[1000]; int D; int max = n / 3 + 1; for (A = 0; A <= max; A++) { B[A] = A * (A + 1) / 2; C[A] = B[A] - n; for (D = 0; D <= max; D++) { if (C[A] == B[D]) { printf("from %d to %d\n", D+1,A); break; } } } }
void findSolution(int target) { int i, solution; for(i=3; (i * (i+1))/2 <= target; i++) { solution = target - (i * (i-1))/2; if(solution % i == 0 && solution > 0){ solution = solution/i; printf("\n%d consecutive numbers starting at %d", i, solution); } } }
Comment