Дана последовательность из N чисел, количество чисел вводится с клавиатуры. Числа выбираются из промежутка [15;50] Найти: сумму совершенных трехзначных чисел
#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;
#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;