Суббота, 18.05.2024, 20:03
Приветствую Вас Guest Member

Windows XP / 7 .

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Архив - только для чтения
Форум <<Помощь по компьютерам>> » Новички в программировании » Помощь студентам » Решение задач
Решение задач
AdminДата: Среда, 20.10.2010, 22:53 | Сообщение # 31
Forum member
Группа: Admin
Зарегистрирован: 24.02.2010
Откуда: Цюрупинск
Пол: Мужчина
Сообщений: 691
Статус: Вне сайта
Дано натуральное число n>1. Найти наибольшее целое k, при котором 4k<= n. Вход: 28 Выход: 2
Code
01    program Pr3019;  
02    {$APPTYPE CONSOLE}
03    uses
04   SysUtils;  
05    
06    var
07  i,tmp,N: integer;  
08    begin
09  i:=-1;  
10  tmp:=1;  
11  ReadLn(N);  
12  repeat
13   tmp:=tmp*4;  
14   inc(i);  
15  until tmp > N;  
16  WriteLn(i);  
17  ReadLn;  
18    end.



 
AdminДата: Среда, 20.10.2010, 22:53 | Сообщение # 32
Forum member
Группа: Admin
Зарегистрирован: 24.02.2010
Откуда: Цюрупинск
Пол: Мужчина
Сообщений: 691
Статус: Вне сайта
Простое число называется числом Мерсена, если оно может быть представлено в виде 2p-1, где p - тоже простое число. Дано число N. Найти количество чисел Мерсена в интервале от 2 до N. Вход: 1000 Выход: 4
Code
01    program Pr4011;  
02    {$APPTYPE CONSOLE}
03    uses
04   SysUtils;  
05    var
06  i,j,A,N,p,Res,x: integer;  
07    begin
08  ReadLn(N);  
09  Res:=0;  
10  for i:=2 to N do
11  begin
12   A:=i;  
13   j:=2;  
14   while A mod j <> 0 do j:=j+1;  
15   if A=j then
16   begin
17    P:=2;  
18    Repeat
19     j:=2;  
20     while P mod j <> 0 do j:=j+1;  
21     if P=j then
22     begin
23      X:=1;  
24      for j:=1 to P do X:=2*X;  
25      X:=X-1;  
26     end;  
27     inc(P);  
28    until X >= A;  
29    if x=a then inc(Res);  
30   end;  
31  end;  
32  WriteLn(Res);  
33  ReadLn;  
34    end.



 
AdminДата: Среда, 20.10.2010, 22:54 | Сообщение # 33
Forum member
Группа: Admin
Зарегистрирован: 24.02.2010
Откуда: Цюрупинск
Пол: Мужчина
Сообщений: 691
Статус: Вне сайта
Дана строка. Словом в ней назовем последовательность подряд идущих латинских букв (больших или маленьких). Найти количество слов, начинающихся с буквы а. Вход: abc12db1a 1asa Выход: 3
Code
01    program Pr5022;  
02    {$APPTYPE CONSOLE}
03    uses
04   SysUtils;  
05    var
06  s,st: string;  
07  i,sc,wc,l,res: integer;  
08    begin
09  readln(s);  
10  sc:=0;  
11  wc:=0;  
12  st:='';  
13  Res:=0;  
14  l:=length(s);  
15  for i:=1 to l do
16  begin
17   case s[i] of
18    'A'..'Z': st:=st+s[i];  
19    'a'..'z': st:=st+s[i];  
20    else if Length(st) > 0 then
21                   begin
22                    if st[1]='a' then inc(Res);  
23                    st:='';  
24                   end;  
25    
26   end;  
27  end;  
28  if Length(st) > 0 then if st[1]='a' then inc(Res);  
29  writeln(Res);  
30  readln;  
31    end.



 
AdminДата: Среда, 20.10.2010, 22:54 | Сообщение # 34
Forum member
Группа: Admin
Зарегистрирован: 24.02.2010
Откуда: Цюрупинск
Пол: Мужчина
Сообщений: 691
Статус: Вне сайта
Дана последовательность целых чисел ai. Построить новую последовательность, содержащую те элементы, наибольший общий делитель у которых с предыдущим значением равен 1. Построение новой последовательности начинать со второго элемента. Вход: 8 4 7 3 16 18 0 Выход: 7 3 16
Code
01    program Pr6008;  
02    {$APPTYPE CONSOLE}
03    uses
04   SysUtils;  
05    var
06  vvod: array [1..255] of integer;  
07  c,i,a,j,x,y,z: integer;  
08    begin
09  c:=1;  
10  repeat
11   readln(a);  
12   vvod[c]:=a;  
13   inc(c);  
14  until a=0;  
15  for i:=2 to c-2 do
16  begin
17   x:=vvod[i-1];  
18   y:=vvod[i];  
19   if x < y then z:=x  
20            else z:=y;  
21   j:=1;  
22   repeat
23    inc(j);  
24   until (x mod j = 0) and (y mod j = 0) or (j > z);  
25   if j > z then WriteLn(y);  
26  end;  
27  readln;  
28    end.



 
AdminДата: Среда, 20.10.2010, 22:55 | Сообщение # 35
Forum member
Группа: Admin
Зарегистрирован: 24.02.2010
Откуда: Цюрупинск
Пол: Мужчина
Сообщений: 691
Статус: Вне сайта
Последовательность т.н. треугольных чисел определяется следующим образом: первый член последовательности равен 1, второй на 2 больше первого, третий на 3 больше второго и т.д. Т.е. треугольными являются числа 1,3,6,10,15,... Дана последовательность целых чисел ai. Построить новую последовательность, содержащую треугольные числа из данной последовательности. Вход: 5 1 7 120 210 0 Выход: 1 120 210
Code
01    program Pr6011;  
02    {$APPTYPE CONSOLE}
03    uses
04   SysUtils;  
05    var
06  vvod: array [1..255] of integer;  
07  c,i,a,j,x,y,z: integer;  
08    begin
09  c:=1;  
10  repeat
11   readln(a);  
12   vvod[c]:=a;  
13   inc(c);  
14  until a=0;  
15  for i:=1 to c-2 do
16  begin
17   a:=vvod[i];  
18   z:=0;  
19   for j:=1 to a do
20   begin
21    z:=z+j;  
22    if a = z then writeln(a);  
23   end;  
24  end;  
25  readln;  
26    end.



 
AdminДата: Среда, 20.10.2010, 22:55 | Сообщение # 36
Forum member
Группа: Admin
Зарегистрирован: 24.02.2010
Откуда: Цюрупинск
Пол: Мужчина
Сообщений: 691
Статус: Вне сайта
Дано число. Верно ли, что сумма его цифр, не считая семерок, является простым числом. 0 и 1 не являются простыми числами. Строками не пользоваться. Вход: 1772774 Выход: yes
Code
01    program Pr200000;  
02    {$APPTYPE CONSOLE}
03    uses
04   SysUtils;  
05    var
06  i,j,A,N,sum,tmp: integer;  
07  s: String;  
08    begin
09  ReadLn(N);  
10  A:=N;  
11  Sum:=0;  
12  repeat
13   tmp:= A mod 10;  
14   if tmp <> 7 then Sum:=Sum + tmp;  
15   A:=A div 10;  
16  until A = 0;  
17  i:=2;  
18  if Sum > 1 then
19  begin
20   while Sum mod i <> 0 do i:=i+1;  
21   if Sum = i  then s:='yes'
22               else s:='no';  
23  end else S:='no';  
24  WriteLn(S);  
25  ReadLn;  
26    end.



 
AdminДата: Среда, 20.10.2010, 22:55 | Сообщение # 37
Forum member
Группа: Admin
Зарегистрирован: 24.02.2010
Откуда: Цюрупинск
Пол: Мужчина
Сообщений: 691
Статус: Вне сайта
Дано число. Найти наибольший общий делитель данного числа и суммы его цифр. Вход: 55 Выход: 5
Code
01    program Pr200010;  
02    {$APPTYPE CONSOLE}
03    uses
04   SysUtils;  
05    var
06  i,j,A,N,sum,tmp: integer;  
07    begin
08  ReadLn(N);  
09  A:=N;  
10  Sum:=0;  
11  repeat
12   tmp:= A mod 10;  
13   Sum:=Sum + tmp;  
14   A:=A div 10;  
15  until A = 0;  
16  i:=N;  
17  repeat
18   Dec(i);  
19  until ((N mod i = 0) and (Sum mod i = 0)) or (i = 1);  
20  WriteLn(i);  
21  ReadLn;  
22    end.



 
AdminДата: Среда, 20.10.2010, 22:56 | Сообщение # 38
Forum member
Группа: Admin
Зарегистрирован: 24.02.2010
Откуда: Цюрупинск
Пол: Мужчина
Сообщений: 691
Статус: Вне сайта
Дано число. Можно ли его представить в виде произведения двух подряд идущих целых чисел? Вход: 72 Выход: yes
Code
01    program Pr200020;  
02    {$APPTYPE CONSOLE}
03    uses
04   SysUtils;  
05    var
06  i,N,tmp: integer;  
07    begin
08  ReadLn(N);  
09  i:=1;  
10  Repeat
11   tmp:=i*(i+1);  
12   inc(i);  
13  until (tmp >= N);  
14  if tmp = N then WriteLn('yes')  
15             else WriteLn('no');  
16  ReadLn;  
17    end.



 
AdminДата: Среда, 20.10.2010, 22:56 | Сообщение # 39
Forum member
Группа: Admin
Зарегистрирован: 24.02.2010
Откуда: Цюрупинск
Пол: Мужчина
Сообщений: 691
Статус: Вне сайта
Даны целые числа n и k. Найти младшую цифру числа nk (число nk может и не вмещаться в числовую переменную). Вход: 17 1234 Выход: 9
Code
01    program Pr200030;  
02    {$APPTYPE CONSOLE}
03    uses
04   SysUtils;  
05    var
06  i,N,K,tmp,Res: integer;  
07    begin
08  ReadLn(N,K);  
09  Res:=1;  
10  tmp:=N mod 10;  
11    
12  for i:=1 to K do
13  begin
14   Res:=Res * Tmp;  
15   Res:=Res mod 10;  
16  end;  
17  writeln(Res);  
18  ReadLn;  
19    end.



 
AdminДата: Среда, 20.10.2010, 22:56 | Сообщение # 40
Forum member
Группа: Admin
Зарегистрирован: 24.02.2010
Откуда: Цюрупинск
Пол: Мужчина
Сообщений: 691
Статус: Вне сайта
Даны числа a и b. Найти в интервале [a;b] число, у квадрата которого наибольшая сумма цифр (если таковых несколько, выводить наименьшее из них). Вход: 10 57 Выход: 43
Code
01    program Pr200040;  
02    {$APPTYPE CONSOLE}
03    uses
04   SysUtils;  
05    var
06  i,A,B,tmp,Res,kv,Sum,x: integer;  
07    begin
08  ReadLn(A,B);  
09  Sum:=0;  
10  Res:=0;  
11  tmp:=0;  
12  for i:=B downto A do
13  begin
14   kv:=Sqr(i);  
15   repeat
16    x:= kv mod 10;  
17    Sum:= Sum + x;  
18    kv:= kv div 10;  
19   until kv = 0;  
20    
21   if Sum >= tmp  then
22   begin
23    Res:=i;  
24    tmp:= Sum;  
25   end;  
26   Sum:=0;  
27  end;  
28    
29  writeln(Res);  
30  ReadLn;  
31    end.



 
Форум <<Помощь по компьютерам>> » Новички в программировании » Помощь студентам » Решение задач
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск: