272
Cerința
Un număr natural n
se numește număr Proth dacă este de forma n=k*2
p
+1
, unde k
și p
sunt numere naturale, k
este impar și k < 2
p
.
Să se scrie un program care citește un număr natural și verifică dacă este număr Proth.
Date de intrare
Programul citește de la tastatură numărul n
.
Date de ieșire
Programul va afișa pe ecran mesajul DA
dacă n
este număr Proth, respectiv NU
în caz contrar.
Restricții și precizări
1 ≤ n ≤ 1.000.000.000
Exemplu
Intrare
25
Ieșire
DA
#include <bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; n--; int p = 0; while(n % 2 == 0) n/=2, p++; int put = (1 << p); if(put > n) cout << "DA"; else cout << "NU"; return 0; }
Comentarii