#include <stdio.h>
#include <stdlib.h>
char input[1024];
int len;
int find_mistake()
{
int i, mistake = 0;
for (i = 0; i < len; i ++)
if (input == '1')
mistake ^= i + 1;
return mistake;
}
int main()
{
int i, mistake = 0;
char info[1024];
int info_pos = 0;
int b = 1;
printf("Enter code: ");
scanf("%s", input);
len = strlen(input);
for (i = 0; i < len; i++)
if (input != '0' && input != '1')
<span> { </span>
printf("Invalid code.\n");
<span> return -1; </span>
}
<span> </span>
mistake = find_mistake();
if (mistake)
{
input[mistake - 1] ^= '0' ^ '1';
<span> mistake = find_mistake(); </span>
<span> if (mistake) </span>
<span> { </span>
printf("Invalid code.\n");
return -1;
<span> } </span>
}
<span> </span>
printf("Fixed code: %s\n", input);
for (i = 0; i < len; i++)
if (i + 1 == b)
b <<= 1;
else
info[info_pos++] = input;
info[info_pos] = '\0';
printf("Informational string: %s\n", info);
return 0;
<span> }</span>
Var
i, sum, j: integer;
begin
j:=1;
sum:=0;
WHILE j<15 DO
begin
sum:=sum+(j*j*j);
j:=j+2;
end;
write(sum);
end.
Ответ 14. Т.к. в цикле строгое выражение т.е. он выполнится только 1 раз.
Графической информации, текстовой информации
Var n,m:integer;
mn:set of integer;
b:boolean;
begin
write('n = '); readln(n);
write('m = '); readln(m);
mn:=[];
while n>0 do
begin
mn:=mn+[n mod 10];
n:=n div 10;
end;
b:=false;
while m>0 do
begin
if (m mod 10) in mn then b:=true;
m:=m div 10;
end;
if b then writeln('Да') else writeln('Нет');
end.
Пример:
n = 13579
m = 6541
Да