Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- using namespace std;
- int lungime_sir_initial(int p) {
- for (int i=1; i*(i-1)/2 <= p; i++) {
- if (i*(i-1)/2 == p) {
- return i;
- }
- }
- return -1;
- }
- int main(int argc, char **argv) {
- int p = 15;
- // 2 3 5 13 8 6
- int r[p] = {5, 7, 15, 10, 8, //1
- 8, 16, 11, 9, //2
- 18, 13, 11, //3
- 21, 19, //4
- 14 //5
- };
- /*
- int p = 3;
- int r[p] = {4,5,3};
- */
- int n = lungime_sir_initial(p);
- int end = 0;
- int primul = (r[0] - r[n-1] + r[1])/2;
- cout << primul << " - ";
- for (int i = 0; i<n-1; i++) {
- cout << r[i]-first << " ";
- }
- /*
- r[1] = i[1]+i[2];
- r[end] = i[2]+i[3];
- r[2] = i[1]+i[3];
- i[1] = r[1] - i[2];
- i[2] = r[end] - i[3];
- i[3] = r[2] - i[1]
- i[1] = r[1] - i[2];
- i[2] = r[end] - r[2] + i[1];
- i[1] = r[1] - r[end] + r[2] - i[1]
- 2 * i[1] = r[1] - r[end] + r[2]
- i[1] = (r[1] - r[end] +r[2])/2
- i[1] = (5 - 8 + 7)2
- //---------------------
- r[end] = i[2]+i[3];
- r[end+end-1] = i[3]+i[4];
- r[end+1] = i[2]+i[4];
- i[2] = r[end] - i[3];
- i[3] = r[(end)+(end-1)] - i[4]
- i[4] = r[end+1] - i[2]
- i[2] = i[3] - r[end];
- i[3] = r[(end)+(end-1)] - r[end+1] + i[2]
- i[2] = r[end] - r[(end)+(end-1)] + r[end+1]
- 2*i[2] = r[end] - r[(end)+(end-1)] + r[end+1]
- i[2] = (r[end] - r[(end)+(end-1)] + r[end+1] )/2
- i[2] = (8 - 18 + 16)/2 = 3
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement