nash-crimea2019
?>

50 ! по информатике: с клавиатуры вводится расстояние в метрах. напишите программу, которая находит число полных километров и метров (пример: вы ввели число 4501, в результпте которого вы получите: 4501м=4км 501м) !

Информатика

Ответы

Иванникова736
лучший ответ

program d;
var
n:integer;
begin
writeln('Введите число(Метры)');
readln(n);
writeln('Километры ', n div 1000);
writeln('Метры ', n mod 1000);
readln;
end.
abuzik
PascalABC.NET 3.3.5, сборка 1640 от 17.03.2018
Внимание! Если программа не работает, обновите версию!

1. Современное решение

begin
  var m:=ReadInteger('Введите расстояние в метрах');
  var (km,mm):=(m div 1000,m mod 1000);
  Write(m,'км = ',km,'км');
  if mm>0 then Writeln(' ',mm,'м') else Writeln
end.

Пример
Введите расстояние в метрах 4501
4501км = 4км 501м

2. Так часто учат писать в школе

program Perevod;

var
  m,km,mm:integer;
 
begin
  Write('Введите расстояние в метрах');
  Readln(m);
  km:=m div 1000;
  mm:=m mod 1000;
  Write(m,'км = ',km,'км');
  if mm>0 then Writeln(' ',mm,'м')
  else Writeln;
end.
Bogataya Vladimir318
В наихудшем случае, последнее новогоднее число - 11111111.

#include <iostream>

bool isNewYearNumber(int n);
int sumDigits(int num);
bool hasZero(int n);

int main() {
  const int LASTNEWYEARNUMBER = 11111111;
  long long sum = 0;
  for(int i = 0; i <= LASTNEWYEARNUMBER; i++)
    if ( isNewYearNumber(i) )
      sum += i;
  std::cout << "Сумма всех новогодних чисел: " << sum << '\n';
  return 0;
}

bool isNewYearNumber(int n)
{
  if ( !( hasZero(n) ) && sumDigits(n) == 8)
    return true;
  else
    return false;
}

int sumDigits(int num)
{
  int sum = 0;
  while ( num > 0 ) {
    sum += num % 10;
    num /= 10;
  }
  return sum;
}

bool hasZero(int n)
{
  if (n < 0)
    n = -1 * n;
  if (n % 10 == 0)
    return true;
  else if (n / 10 > 0)
     hasZero(n / 10);
  else
    return false;
}
Джамал1009
В наихудшем случае, последнее новогоднее число - 11111111.

#include <iostream>

bool isNewYearNumber(int n);
int sumDigits(int num);
bool hasZero(int n);

int main() {
  const int LASTNEWYEARNUMBER = 11111111;
  long long sum = 0;
  for(int i = 0; i <= LASTNEWYEARNUMBER; i++)
    if ( isNewYearNumber(i) )
      sum += i;
  std::cout << "Сумма всех новогодних чисел: " << sum << '\n';
  return 0;
}

bool isNewYearNumber(int n)
{
  if ( !( hasZero(n) ) && sumDigits(n) == 8)
    return true;
  else
    return false;
}

int sumDigits(int num)
{
  int sum = 0;
  while ( num > 0 ) {
    sum += num % 10;
    num /= 10;
  }
  return sum;
}

bool hasZero(int n)
{
  if (n < 0)
    n = -1 * n;
  if (n % 10 == 0)
    return true;
  else if (n / 10 > 0)
     hasZero(n / 10);
  else
    return false;
}

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

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

50 ! по информатике: с клавиатуры вводится расстояние в метрах. напишите программу, которая находит число полных километров и метров (пример: вы ввели число 4501, в результпте которого вы получите: 4501м=4км 501м) !
Ваше имя (никнейм)*
Email*
Комментарий*

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

trast45
natalyaSvetlana
Aleksandrovich1669
ddavydov1116
stertumasova29
Yekaterina358
sales5947
dmitryshigin
sky-elena712558
lolydragon
martinson
mg4954531175
fursov-da
Yelizaveta1848
e-liza-k