#include <iostream> #include <conio.h> using namespace std;
int main() { int n; cin >> n;
while (n > 1) { if (n%2 != 0) { n = n*3 + 1; } else { n = n/2; } cout << n << endl; } getch(); }
Arkadaşlar ben n>1 kısmında 1 yerine kesirli bir sayı yazarak işlem yapmak istiyorum ama onun için farklı kodlama yapmak gerekliymiş yardım ederseniz sevinirim.Teşekkürler.
Tamsayı(int) kullanırken n=1 yazarsın ama eğer kesirli(double) kullanacaksan sayın tam sayı bile olsa n=1 değil n=1.0 yazman gerekli. Aynı şekilde içinde double geçen işlemlerinde ondalıklı sayı girmelisin. Şu an C++ derleyicim yüklü olmadığı için deneyemiyorum ama şu şekilde olmalı.
2 farklı int değerinin oranını bir double da tutmak istersen şöyle yazman lazım.
int x,y; double z ; z = x/y*1.0;
Buradaki işlemin sonucu değiştirmeyecek şekilde ondalık olarak herhangi bir sayı girmemiz gerekli ben bölümü 1.0 ile çarptım. 0.0 ile toplasaydık (z= x/y+0.0;) da olurdu.
#include <conio.h>
using namespace std;
int main() {
int n;
cin >> n;
while (n > 1) {
if (n%2 != 0) {
n = n*3 + 1;
} else {
n = n/2;
}
cout << n << endl;
}
getch();
}
Arkadaşlar ben n>1 kısmında 1 yerine kesirli bir sayı yazarak işlem yapmak istiyorum ama onun için farklı kodlama yapmak gerekliymiş yardım ederseniz sevinirim.Teşekkürler.