int c=0; float b; int a=1; float x; float i=0; printf ("sayi gir:"); scanf("%d",&x); while (c!=a){
a++; if((pow(i,2)<x) && (pow ((i+1),2))>x){
b=i+(x-i)/(2*i+1); c=a; } i++;
}
printf ("sonuc:",b); // burda girilen sayinin karekokune en yakın değeri bulmaya çalıştım.Biliyorum daha kolay şekilde bulunabilir fakat bu yöntem neden çalışmıyor ?yardım eder misiniz?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
void main() { int number; float temp, sqrt; printf("Provide the number: \n"); scanf("%d", &number);
/* store the half of the given number e.g from 256 => 128 */ sqrt = number / 2; temp = 0;
/* Iterate until sqrt is different of temp, that is updated on the loop */ while(sqrt != temp){ /* initially 0, is updated with the initial value of 128 (on second iteration = 65) and so on */ temp = sqrt; /* Then, replace values (256 / 128 + 128 ) / 2 = 65 (on second iteration 34.46923076923077) and so on */ sqrt = ( number/temp + temp) / 2; } printf("The square root of '%d' is '%f'", number, sqrt); }
Karekökü ampirik yldan bulabilmek için neden bunun gibi basit ve net kod kullanmıyorsunuz? Sizin yukardaki kod gereksiz karışık.
Hocam o zaten her yerde olan ampirik kod. Ben başka bir şey düşündüm. Farklı bakış açılarıyla kod yazmak hoşuma gidiyor. Ama bu sefer olmadı sanırım. Hata nerede bulabildiniz mi?
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.