- 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;
}
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;
}