Tək rəqəmlərin sayı#8889

Tək rəqəmlərin sayı (Həll təhlili)

Verilmiş beşrəqəmli natural ədədinin daxilindəki tək rəqəmlərin sayını tapmaq tələb olunur.

Bu izahda məsələnin həllini həm C++, həm də Python proqramlaşdırma dillərində while dövründən istifadə edərək göstərəcəyəm.

C++

Qısa izah:

  1. İlk olaraq verilmiş ədədini daxil edirik.

  2. Tək rəqəmləri saymaq üçün ans adlı sayğac yaradıb başlanğıc qiymətini 0 təyin edirik.

  3. while dövrü qururuq. ədədi 0-dan böyük olduğu müddətdə hər addımda n % 10 əməliyyatı ilə ədədin sonuncu rəqəmini tapırıq.

  4. Əgər tapdığımız rəqəm təkdirsə (yəni 2-yə bölündükdə qalıq 1 olarsa), ans sayğacını 1 vahid artırırıq.

  5. Daha sonra n = n / 10 əməliyyatı ilə ədədin sonuncu rəqəmini silirik. Dövr başa çatdıqda cavabı ekrana çıxarırıq.

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin >> n;

    int ans = 0;
    while (n > 0) {
        int reqem = n % 10;
        if (reqem % 2 != 0) {
            ans++;
        }
        n = n / 10;
    }

    cout << ans << endl;
}

Python

Qısa izah:

  1. İlk olaraq verilmiş ədədini tam ədəd (int) olaraq daxil edirik.

  2. Tək rəqəmləri saymaq üçün ans adlı sayğac yaradıb başlanğıc qiymətini 0 təyin edirik.

  3. while dövrü qururuq. ədədi 0-dan böyük olduğu müddətdə hər addımda n % 10 əməliyyatı ilə ədədin sonuncu rəqəmini tapırıq.

  4. Əgər tapdığımız rəqəm təkdirsə, ans sayğacını 1 vahid artırırıq.

  5. Daha sonra n = n // 10 əməliyyatı ilə ədədin sonuncu rəqəmini silirik. Python dilində // operatoru tam bölmə üçün istifadə olunur. Dövr başa çatdıqda cavabı ekrana çıxarırıq.

n = int(input())
ans = 0

while n > 0:
    reqem = n % 10
    if reqem % 2 != 0:
        ans += 1
    n = n // 10

print(ans)

Python ilə bağlı köməyə ehtiyacınız olarsa, bu məsələnin müzakirə bölməsinə yaza bilərsiniz. İmkan daxilində suallarınızı cavablandırmağa çalışacağam.