C dilinden anlayan 2 dakika bakabilir mi ?

calem2

Üye
24 Haz 2010
103
0
Programi ozetleyecek olursam kullanicidan bir sayi tabani ve o sayi tabaninda bir sayi isteniyor. Program bu sayinin o tabanda asal olup olmadigini buluyor bisey farkettim deneme yanilmayla eger bir sayi hangi tabanda olursa olsun 10 tabanina cevrildiginde asal ise baska tabanlardada asaldir.
Neyse program su sekilde ama sadece 10 tabani yazildiginda dogru sonucu veriyor. Simdiden tesekkur ederim.

#include<stdio.h>
#include<math.h>
int main(){

int x,y,i,c,kum[30],j=1,hafiza;
printf("Tabani gir: ");
scanf("%d",&y);
printf("Sayiyi gir: ");
scanf("%d",&x);
hafiza = x;
if (y != 10){
while(x<=10){
x = x / 10;
j++;
}
x = hafiza;
for (i=0;i<j;i++){
kum = x%10;
x = x/10;
}
x = 0;
for (i=0;i<j;i++)
{
x = x + kum*pow(y,i);
}
}
for (i=2;i<x;i++){
c = x % i;
if (c == 0){
printf("Sayi asal degil.");
return 0;
}
}
printf("Sayi asal.");


return 0;
}
 

zztri

Yaşayan Forum Efsanesi
9 Tem 2015
10,053
390
Ankara
bu doğru değil.

... aslında tam manasıyla doğru.. Sayılar bir miktar belirtirler, hangi tabanda yazılıyor olduğu bu niceliği değiştirmez. (17)10 da asaldır, (10001)2 de...

Üstad, ezberden yazamayacak kadar tembelim.. Bir kahve içeceğim, o zamana kadar bizim arkadaşlardan biri cevap vermezse, online compiler'lardan birinde yazar link atarım.
 

zztri

Yaşayan Forum Efsanesi
9 Tem 2015
10,053
390
Ankara
https://goo.gl/vh5T50

Üstad bütün fonksiyonlar onluk sistemde çalıştığından dolayı, zorunlu onluk sisteme ben de geçiriyorum... Eğer büyük bir hesaplamanın zaman konusunda kritik bir parçası olsa, kendi operatörlerini tanımlamak için C++'a geçerdin ama 10'luk sisteme geçirme mantığın doğru.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.