Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

C'de iki başlangıç programcığı yazabilecek olan..?


Rewendor

Öne çıkan mesajlar

Şu iki programı bir türlü yazamadım. Biri bir el atabilir mi acaba?

1. A perfect square is the square of an integer which itself is the square of another integer. For example 16 and 81 are perfect squares where as 49 is not. Write a C program that reads an integer number and determines the first perfect square larger than this number. Note that your C program should contain only the main body and the use of any mathematical function is forbidden.

2. Two positive integers m and n are considered to be relatively prime (aralarında asal) if there exists no inteher greater than 1 and divides them both. Write a C program that inputs two positive integers and displays a message stating that they are relatively prime. Otherwise, display a message that they are not relatively prime. Also, your program should repeat this process for 10 pairs of number.

Sample run:
Enter two positive integers: 8 , 4
8 and 4 are not relatively prime.

Enter two positive integers: 4 , 9
4 and 9 are relatively prime[signature][hline]
Quidquid latine dictum sit, altum viditur.
Link to comment
Sosyal ağlarda paylaş

ikincisi daha kolay gibi, birinciye dersten gelince bakarım yapan olmazsa;

2. :

#include
int main()
{
int num1, num2,i;
int k=0, s=0;
do {
scanf("%d %d", &num1, &num2);
for(i=2; i {
if(num1%i==0 && num2%i==0)
k=k+1;
else continue;
}
if(k!=0) printf("%d and %d are not relatively primen", num1, num2);
if(k==0) printf("%d and %d are relatively primen", num1, num2);
s++;
}while(s<10);
printf("SONn");
return(0);
}


umarım hata yoktur...[signature][hline]sadece ölüm ...
anlam bulur gözlerinde ...
Link to comment
Sosyal ağlarda paylaş

1. :

#include
int main()
{
int num, i, j;
int k=0;
scanf("%d", &num);
num=num+1;
while(k==0)
{
for(i=2; i {
if(i*i==num)
{
for(j=2; j if(j*j==i) k=k+1;
}
}
num++;
}

printf("next perfect number= %dn", num-1);
return(0);
}[signature][hline]sadece ölüm ...
anlam bulur gözlerinde ...

[Bu mesaj odchu tarafından 08 Kasım 2004 13:54 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

#include
int main (void)
{
int n, m, a, count, kaln, kalm, top;
count = 1;
top = 0;
while (count <= 10)
{ printf ("Enter two positive integers:n");
scanf ("%d %d", &n, &m);
a=1;
while (a {
kaln = n % a;
kalm = m % a;
if (kaln == 0 && kalm == 0) top+=a;
a++;
}
if (top == 1) printf ("%d and %d are relatively primen", n, m);
else printf ("%d and %d are not relatively primen", n, m);
count ++;
top = 0;
};
return (0);
}

[Bu mesaj Cassie tarafından 08 Kasım 2004 18:10 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

ikincide de gene uzatmıssınız aslında :)

gene pseudo code olarak:

int min=number1 >= number2 ? number2 : number1;

int checklimit=Root(min).Floor();
bool relative=false;
for(int k=2; k<=checklimit; k++)
{
if (number1%k==0 && number2%k==0)
{ relative=true;
break;
}
}
printf("Numbers are%s relatively prime",relative ? "":" not");

[Bu mesaj CEDAY tarafından 08 Kasım 2004 20:29 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

abi sen yaz o zaman basic olarak o fonksiyonları..
ordaki Root(N).Ceiling/Floor fonksiyonları logN zamanlı rahat implement edersin..(int) cinsinden cünkü sana lazım. normal root implement etmiceksin..

yani sonucta bi ödevdir muhtemelen bu altıüstü ama, daha efficient bişi icin yapılabilir :)

p.s zaten pseudo code olarak yazmıstım. kullanılması gereken algorithm babında :P

[Bu mesaj CEDAY tarafından 08 Kasım 2004 20:24 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

hmz 1. soru icin sanırım benim verdigim cevap yanlışmıs :)

ama al sana dogrusu
said:

#include


int GetPerfect(int number)
{
if (number <3)
return 16;
int perfect;
for (int k=2; k {
int next=k*k*k*k;
if (next >number)
{
perfect=next;
break;
}

}
return perfect;
}

int main()
{

printf("Enter a number to find a perfect squaren");
int number;
scanf("%d",&number);
int perfect=GetPerfect(number);

printf("Nearest perfect number is %dn",perfect);

return 0;
}


hatta al 2. soru da şöle:
said:

#include


int Root(int number, bool ceiling);
int Root(int number, bool ceiling, int start, int end);

int main()
{

printf("Enter two numbersn");
int number1,number2;
scanf("%d%d",&number1,&number2);
int max,min;
if (number1 > number2)
{
max=number1;
min=number2;
}
else
{
max=number2;
min=number1;
}
int checklimit=Root(min,false);
bool relative=true;
for(int k=2; k<=checklimit; k++)
{
if (number1%k==0 && number2%k==0)
{
relative=false;
break;
}
}
if (max%min==0)
relative=false;
printf("Numbers are%s relatively primen",relative ? "":" not");
return 0;
}





int Root(int number, bool ceiling)
{
return Root(number,ceiling,1,number);

}

int Root(int number, bool ceiling, int start, int end)
{
int average=(start+end)/2;
if (average*average == number)
{
return average;

}
else if (end-start==1)
{
if (end*end==number)
return end;
else
{
if (ceiling)
return end;
else
return start;
}
}
else if (average*average > number)
{
return Root(number,ceiling,start,average);

}
else
return Root(number,ceiling,average,end);
}



p.s neyse bu kadar ara yeter, ben artık derse devam edeyim :P

[Bu mesaj CEDAY tarafından 08 Kasım 2004 23:44 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

ceday çaktırmadan post kasıyor zaten. bakmayın siz ona :p[signature][hline]ICQ#85889898
If you need a host, contact me.
ıcın değil için, ıyı değil iyi, ınsan değil insan, mılyon değil milyon...

Klavyeniz TR olmaz yazamazsınız, ı yerine i yazarsınız ama i yerine ı yazmak ne dingilliktir çözmüş değilim! Her gördüğümde monitöre kafa atasım geliyor! Hiç mi rahatsız olmuyorsunuz yazarken be!
Link to comment
Sosyal ağlarda paylaş

abi aslen koda bakarsan zor bisi yok orda..
yani Root dedigin fonksiyon 3-5 if döngüsünden ibaret :)

bu arada ilk soru icin ilk basta yazdıgım algorithm yerine sunu kullansak olurmus. dün gece bakınca görememişim

int ceiling=Root(N,true);
int ceiling2=Root(ceiling,true);
int perfect=ceiling2*ceiling2*ceiling2*ceiling2;
Link to comment
Sosyal ağlarda paylaş

×
  • Yeni Oluştur...