Tatyana1374
?>

Дано четырехзначное число. написать программу, которая определяет максимальную цифру числа

Информатика

Ответы

tetralek
#include <iostream>
using namespace std;

int main(){
    int n;
    int max;
    cin>>n;
    max=0;
    for(int i=1;i<5;i++){
            if((n%10)>max){
                         max=n%10;
            }
            n=n/10;
            }
    cout<<max;
    cin.get();
    cin.get();
    return 0;
}
gullieta
80 кбайт = 80*1024 байт = 81920 байт = 81920*8 бит = 655360 бит.
655360 бит со скоростью 1536 бит/сек передаются за x секунд  → х=655360/1536 сек.
За то же время со скоростью 768 бит/сек можно передать файл размером x сек * 768 бит/сек = 655360/1536*768 бит = 327680 бит = 327680/8 байт = 40960 байт = 40960/1024 кбайт = 40 кбайт

время1= 80*1024*8 бит/2048 бит в сек=320 сек
размер файла за время1 = 768 бит в сек*320 сек=245760 бит=30720 байт= 30 Кбайт

1) 120 кбайт = 122880 байт
2) 3072 бит/ cек = 384 байт/cек
3) 122880 / 384 =   320 секунд - нужно для передачи
4)1024 бит/сек = 128 байт/ сек
5)128*320=40960 байт - можно передать за то же время через другое соединение
6) 40960 / 1024 = 40 кбайт
ответ: 40 кбайт
Popov Valentina1324
С небольшой правкой процедуры, уменьшающей вдвое время ее работы.

procedure KolDel(n: integer; var res: byte);
var
  i: integer;
begin
  res := 2;
  for i := 2 to n div 2 do
    if n mod i = 0 then
      res := res + 1;
end;

var
  m, n, i: longint;
  mx, kd: byte;

begin
  repeat
    writeln('Введите интервал, 2 натуральных числа, второе больше первого');
    readln(m, n);
  until n > m;
  mx := 1;
  for i := m to n do
  begin
    KolDel(i, kd);
    if kd > mx then mx := kd
  end;
  writeln('Наибольшее количество делителей имеют числа:');
  for i := m to n do
  begin
    KolDel(i, kd);
    if kd = mx then write(i, ' ')
  end;
  writeln;
  write('количество=', mx);
  readln
end.

А вот такой вариант работает в 3.5 раза быстрее:

procedure KolDel(n: integer; var res: byte);
var
  i: integer;
begin
  res := 2;
  for i := 2 to n div 2 do
    if n mod i = 0 then
      res := res + 1;
end;

var
  m, n, i: longint;
  mx, kd, k: byte;
  a: array[1..255] of longint;

begin
  repeat
    writeln('Введите интервал, 2 натуральных числа, второе больше первого');
    readln(m, n);
  until n > m;
  mx := 1;
  for i := m to n do
  begin
    KolDel(i, kd);
    if kd > mx then begin mx := kd; k := 1; a[k] := i end
    else
    if kd = mx then begin k := k + 1; a[k] := i end
  end;
  writeln('Наибольшее количество делителей имеют числа:');
  for i := 1 to k do Write(a[i], ' ');
  Writeln;
  Write('Количество=', mx);
  readln
end.

Пример
Введите интервал, 2 натуральных числа, второе больше первого
37 86
Наибольшее количество делителей имеют числа:
60 72 84
Количество=12

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Дано четырехзначное число. написать программу, которая определяет максимальную цифру числа
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

thedoomsdatdcs36
kseybar
rina394992
vikka30
Елизавета Александр2011
Tarapovskaya
Vs1377
D-posilochka
mila010982
natapetrova20017
Терентьева
igorshevkun
Volkanovaa19
Мамедов
Postnikova-StreltsovaKyulbyakova