Cod sursă (job #294936)

Utilizator avatar kywy Tiberiu Popescu kywy IP ascuns
Problemă Sqrt (clasele 9-10) Compilator cpp | 0,86 kb
Rundă Arhiva de probleme Status evaluat
Dată 21 mar. 2017 19:20:19 Scor 0
#include<cstdio>
using namespace std;
int v[15];
int main()
{
    FILE* in = fopen("semipalindrom.in", "r");
    FILE* out = fopen("semipalindrom.out", "w");
    int n;
    fscanf(in, "%d", &n);
    int i = 1;
    while(n)
    {
        v[i] = n % 10;
        n /= 10;
        ++i;
    }
    --i;
    int st = 1, dr = i;
    while(st < dr)
    {
        int aux = v[st];
        v[st] = v[dr];
        v[dr] = aux;
        ++st;
        --dr;
    }
    int z = i / 2;
    int g;
    if(i % 2 == 1) g = z + 2;
    else g = z + 1;
    int h = 0, j = 0;
    int k = 1;
    h = v[1];
    j = v[g];
    while(z != 1)
    {
        h = h * 10 + v[k + 1];
        ++k;
        --z;
    }
    while(g != i)
    {
        j = j * 10 + v[g + 1];
        ++g;
    }
    if(j == h) fprintf(out, "%d", j);
    else fprintf(out, "%d", v[1]);
}