#include <iostream> #include <ctime> #include <stdlib.h> using namespace std;
double Sum(int *A, int N, int C, int M);
int main() { srand(time(0)); int N, C = 19, M = 30; cout << "N = ", cin >> N; int Train[N]; for(int i = 0; i < N; i++) cout << (Train[i] = rand() % (M+1)) << " "; cout << "\nSum = " << Sum(&Train[0], N, C, M);; return 0; }
double Sum(int*A, int N, int C, int M) { double S = 0; int k = 0; for(int i = 0; i < N; i++) { S += A[i]*C; k +=M - A[i]; } cout << "\nk = " << k; return S; }
Function isPali(A : int64) : Boolean; Var B : int64; Begin B:=1; While B<A do B:=B*10; B:=B div 10; If A>9 then isPali:=((A div B)=(A mod 10)) and isPali(A mod B div 10) else isPali:=True; end;
Begin Readln(n); If isPali(n) then Writeln('Это полиндром.') else Writeln('Это не полиндром.'); Write('Его квадрат ',sqr(n)); If isPali(sqr(n)) then Writeln(' полиндром.') else Writeln(' не полиндром.'); end.
Хотя в Pabc.net есть функция и покороче:
Function IsPali(B : Longint) : Boolean; Begin IsPali:=(B=IntRevers(B)); end;
1|80
3|20
0|80
1|20
0|80
...
Повторяется каждые 2 раза. Соответственно, четная цифра будет 3, нечетная - 1.
ответ: 3.