Fie n un numar natural. Daca el este impar,se inmulteste cu 3 si la rezultat se adauga 1.Daca este par se imparte la 2. Se repeta aceste operatii pana cand se obtine rezultatul 1. TREBUIE REZOLVAT IN CODEBLOCKS.Multumesc!
Răspunsuri la întrebare
Răspuns de
0
Răspuns:
#include <stdio.h>
int main()
{
int n;
printf("Introdu n >> ");
scanf("%d", &n);
if (n % 2 == 0)
while (n != 1)
n /= 2;
else
{
n = (n * 3) + 1;
if (n % 2 == 0)
while (n != 1)
n /= 2;
}
printf("Noul n >> %d\n", n);
return 0;
}
Explicație:
Citești n-ul de la tastatură, dacă restul impărțirii lui n la 2 este 0 înseamnă că numărul este par deci împarți la 2 până când numărul e diferit de 1.
Dacă restul este diferit de 0 înseamnă că numărul este impar deci înmulțești numărul cu 3, aduni cu 1 și verifici dacă rezultatul este par. Dacă este par din nou împarți la 2 până când rezultatul final este 1.
Alte întrebări interesante
Istorie,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Studii sociale,
9 ani în urmă
Limba română,
9 ani în urmă