var a: string;
i,n,j,k,x,z,y: integer; d: boolean;
begin
readln(n);
read(a);
d: =false;
if (n=1)and (a='8') then d: =true;
if n=2 then begin
x: =ord(a[1]) - 48;
y: =ord(a[2]) - 48;
if((x*10+y) mod 8=0) or
((y*10+x) mod 8=0) then d: =true;
end
else
begin
for i: =1 to n-2 do
for j: =i+1 to n-1 do
for k: =i+2 to n do
begin
x: =ord(a[i])-48;
y: =ord(a[j])-48;
z: =ord(a[k])-48;
if((x*4+y*2+z) mod 8=0) or
((y*4+x*2+z) mod 8=0) or
((y*4+z*2+x) mod 8=0) or
((x*4+z*2+y) mod 8=0) or
((z*4+y*2+x) mod 8=0) or
((z*4+x*2+y) mod 8=0) then d: =true;
end; end;
if d then write('yes') else write('no');
end.
Поделитесь своими знаниями, ответьте на вопрос:
Написать на с++. при заданных x1, x2, …, xn, y1, y2, …, yn и z1, z2, …, zn получить новые значения этих элементов, последовательно рассматривая тройки (xi, yi, zi): xi следует задать наименьшее из этих значений, zi – наибольшее, а yi – оставшееся значение данной тройки.
#include < iostream>
#include < windows.h>
using namespace std;
int num;
while(true) {
cin > > num;
cout < < num < < " x 1 = " < < num * 1 < < endl;
cout < < num < < " x 2 = " < < num * 2 < < endl;
cout < < num < < " x 3 = " < < num * 3 < < endl;
cout < < num < < " x 4 = " < < num * 4 < < endl;
cout < < num < < " x 5 = " < < num * 5 < < endl;
cout < < num < < " x 6 = " < < num * 6 < < endl;
cout < < num < < " x 7 = " < < num * 7 < < endl;
cout < < num < < " x 8 = " < < num * 8 < < endl;
cout < < num < < " x 9 = " < < num * 9 < < endl;
}
system("pause");
return 0;
если что-то неправильно сделал, не суди, давно не программировал и уже особо не помню.