Tunahan Mert07
Hectopat
Daha fazla
- Cinsiyet
- Erkek
[CODE lang="c" title="Bunu Kullanabilirsiniz."]#include <stdio.h>Örneğin mükemmel sayı için kullanıcıdan alınan değere kadar devam eden bir for döngüsü yazılır. Daha sonra bu for döngüsünde birer birer artan her n değeri için kullanıcının girdiği sayıyı tam bölüp bölmediği if ile kontrol edilir. Sonrasında ise her sağlanan if değeri için bir toplama işlemi yapılır. Bunu ya bir dizi ile yaparsınız ya da if bloğunun içerisinde bir toplama işlemi olarak yaparsınız.
[CODE lang="c" title="Bunu Kullanabilirsiniz."]#include <stdio.h>
int main() {
int sayi,i,toplam=0;
printf("Sayiyi giriniz: "); scanf("%d",&sayi);
i=1;
while(i<sayi) {
if(sayi%i==0) {
toplam+=i;
}
i++;
}
if(toplam==sayi) {
printf("BU BIR MUKEMMEL SAYIDIR.");
}
else printf("BU MUKEMMEL SAYI DEGILDIR.");
}[/CODE]
6 28 ve 496 değerlerinde denediğimde sağlıklı bir şekilde çalıştı.
Örneğin mükemmel sayı için kullanıcıdan alınan değere kadar devam eden bir for döngüsü yazılır. Daha sonra bu for döngüsünde birer birer artan her n değeri için kullanıcının girdiği sayıyı tam bölüp bölmediği if ile kontrol edilir. Sonrasında ise her sağlanan if değeri için bir toplama işlemi yapılır. Bunu ya bir dizi ile yaparsınız ya da if bloğunun içerisinde bir toplama işlemi olarak yaparsınız.
[CODE lang="python" title="Code"]sayi = int(input("Bir sayi girin : "))
liste = []
toplam = 0
for i in range (1,sayi):
if sayi % i == 0:
liste.append(i)
for a in range(0,len(liste)):
toplam += liste[a]
if(toplam == sayi):
print('{0} sayisi bir mükemmel sayidir .'.format(sayi))
else :
print('{0} sayisi bir mükemmel sayi değildir .'.format(sayi))[/CODE]
Bu örnekler algoritma becerinizi geliştirmek için birebirdir fazla matetatikle alakalı olduğunu sanmıyorum.
2. soruyu da açıklarsanız yardım edebilirim.
num = [int(x) for x in input("sayı gir: ")]
print("armstrong sayısı" if sum([x**len(num) for x in num]) == int("".join([str(x) for x in num])) else "armstrong sayısı değil")
[CODE lang="c" title="Bunu Kullanabilirsiniz."]#include <stdio.h>
int main() {
int sayi,i,toplam=0;
printf("Sayiyi giriniz: "); scanf("%d",&sayi);
i=1;
while(i<sayi) {
if(sayi%i==0) {
toplam+=i;
}
i++;
}
if(toplam==sayi) {
printf("BU BIR MUKEMMEL SAYIDIR.");
}
else printf("BU MUKEMMEL SAYI DEGILDIR.");
}[/CODE]
6 28 ve 496 değerlerinde denediğimde sağlıklı bir şekilde çalıştı.
#include <iostream>
using namespace std;
int main()
{
int sayi;
int toplam = 0;
cout<<"Bir sayı giriniz: ";
cin>>sayi;
for (int n = 1; n < sayi; n++){
if (sayi % n == 0 ){
toplam = toplam + n;
}
}
if (toplam == sayi){ cout << sayi << " sayısı bir mükemmel sayıdır."<<endl; }
else { cout << sayi << " sayısı bir mükemmel sayı değildir."<<endl; }
return 0;
}