Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
3
Cevap
660
Tıklama
0
Öne Çıkarma
şu algoritmanın neresi yanlış
C
11 yıl
Çavuş
Konu Sahibi

< Resime gitmek için tıklayın >

lys 2013 de çıkmış şu sorunun algoritmasını şu şekilde yazdım

< Resime gitmek için tıklayın >

ama ne yazarsam yazayım kuvvetli sayı olduğunu söylüyor. hata nerde acaba?

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.

Üye Ol Şimdi Değil





< Bu mesaj bu kişi tarafından değiştirildi co2ov -- 3 Nisan 2014; 0:06:22 >

C
11 yıl
Çavuş
Konu Sahibi

fark ettim sanırım bi dakka


Bu mesaja 1 cevap geldi.
C
11 yıl
Çavuş
Konu Sahibi

fark ettim sanıp kod üzerinde tamamen emin olarak şu şekilde düzelttim yine olmadı

#include <iostream> 
using namespace std;

int main(){

int n,s,k,p,j,ks,ksd;
float b1,b2;

cout << "n: "; cin >> n;

for(p=2;p<=n;p++){
for(j=1;j<=p;j++){
if(p%j==0){
b1=n/p;
if(b1-int(b1)==0){
b2=n/(p*p);
if(b2-int(b2)==0){
ks=n;

}

}

}

}

}
cout << ks << " bir kuvvetli sayidir";


}
















< Bu mesaj bu kişi tarafından değiştirildi co2ov -- 3 Nisan 2014; 0:27:11 >
Bu mesaja 1 cevap geldi.
L
11 yıl
Yarbay

 
#include <iostream>
#include <math.h>
using namespace std;

bool asalMi(int a)
{
if (a == 2)
return 1;

if (a < 1)
return 0;

for (int i = 2; i < (sqrt(a) + 1); i++)
{
if (a%i == 0)
return 0;
}
return 1;
}

int _tmain(int argc, _TCHAR* argv[])
{
bool bolen = 1;
int n;
cin >> n;
for (int p = 2; p < ((n / 2) + 1); p++)
{
if (asalMi(p))
{
if (n%p == 0 && n % (p*p) != 0)
bolen = 0;
}
}
if (bolen == 0)
{
cout << n << " kuvvetli bir sayi degildir.";
}else{
cout << n << " kuvvetli bir sayidir";
}

}



bunda sıkıntı yok sanırım. muhtemelen BÜTÜN asal sayılar için bakmadınız. Tek bir asal sayıya baktınız. Mesela 99, 3^2 * 11. 3 ve 3'ün karesine tam bölünüyor ama 11'in karesine tam bölünmüyor bu yüzden şartı sağlamıyor.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.