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.
Qısa izah:
İlk olaraq verilmiş ədədini daxil edirik.
Tək rəqəmləri saymaq üçün ans adlı sayğac yaradıb başlanğıc qiymətini 0 təyin edirik.
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.
Ə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.
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;
}Qısa izah:
İlk olaraq verilmiş ədədini tam ədəd (int) olaraq daxil edirik.
Tək rəqəmləri saymaq üçün ans adlı sayğac yaradıb başlanğıc qiymətini 0 təyin edirik.
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.
Əgər tapdığımız rəqəm təkdirsə, ans sayğacını 1 vahid artırırıq.
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.