Cümə, 22.11.2024, 12:33
İnformatikanın məktəbdə tədrisi
Baş səhifə Qeydiyyat Giriş
e-mail: informatik-az@mail.ru · RSS
Menyu
Fotoşəkillər
Giriş forması
Sorğu
Müəllim kimi informatika dərslərində tez-tez istifadə edirəm:
Cavabların sayı: 9465
Faydalı keçidlər

  • ict.edu.az
  • ict.az
  • telekommunikasiya.edu.az
  • İnf-math.narod.ru
  • Millibyte.az
  • kayzen.az/blog/informatika
  • alqoritm.ucoz.org
  • mincom.gov.az
  • Facebook-da
    Təqvim
    «  Noyabr 2024  »
    B.e.Ç.a.ÇC.a.CŞB
        123
    45678910
    11121314151617
    18192021222324
    252627282930
    Təqdimatlar
    Statistika

    Onlayn: 1
    Ziyarətçilərin sayı: 1
    Qeydiyyatdan keçənlərin sayı: 0


     2-5r

    2.1                Дано натуральное число n. Удалить в этом числе все единицы и пятёрки, оставив порядок цифр прежним. Например, число 527012 преобразуется в 2702.

     

    Как мы увидели во всех предыдущих задачах, операция mod 10 (%10) выделяет последнюю цифру справа. Если выделенную цифру добавлять к числу справа, то получим число с обратным порядком цифр. В нашей задаче порядок цифр не должен меняться, значит мы должны добавлять выделяемые цифры слева. Это немного сложнее. Если число  m однозначное, то добавить к нему цифру q слева можно так  m:=q*10+m; Если число  m двухзначное, то m:=q*100+m; трехзначное - m:=q*1000+m;  и так далее. В нашей программе за умножение цифры на 10, 100, 1000 и т.д. отвечает переменная p,  значение которой увеличивается в 10 раз после добавления очередной цифры (строка 13).  А чтобы по условию задачи удалить из числа все единицы и пятёрки, то в строке 10 мы и проверяем, добавлять ли цифру к числу или нет (1 и 5 не будут добавлены).

    Можно, конечно, в этой программе не запоминать n (и не вводить дополнительную переменную n1), но здесь мы это сделали просто для того, чтобы вы привыкли не портить исходные данные.

     

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    Program A2_5;

    Var

      n,n1,m,q,p:integer;

      begin

        readln(n);

        n1:=n; m:=0; p:=1;

        while (n1<>0)  do

        begin

          q:=n1 mod 10;

          if (q<>1) and (q<>5)  then

            begin

              m:=q*p+m;

              p:=p*10;

            end;

            n1:=n1 div 10;

        end;

          writeln(m);

          readln;

    end.

    // Program A2.5;

     

    #include <iostream>

     

    using namespace std;

     

    int main()

    {

        int n,n1,m=0,q,p=1;

        cin>>n;

        n1=n;

        while (n1)

        {  q=n1%10;

            if (q!=1 && q!=5)

            {m=q*p+m;

            p=p*10;}

            n1=n1/10;

        }

        cout<<m<<endl;

        return 0;

    }

    Copyright İsaNaida © 2024
    PYTHON 3.4
    ALPLogo
    Info-Ko
    Fəxr edirik


    Elan
    Bölmələr
    MÜSABİQƏ
    Azərbaycanda İKT
    Axtarış
    Video