iki mükemmel sayının toplamını döndürür yoktur.nasıl iki tamsayı argüman, <code>i</code> ve <code>j</code> alır ve <code>ith</code> ve <code>jth</code> mükemmel sayının toplamını döndüren <code>henry</code> adında bir yöntemi var C
int main()
{
int i, j, n, sum = 0;
/* Reads upper limit to print perfect numbers upto */
printf("Enter any number to print perfect number up to: ");
scanf("%d", &n);
printf("\nAll Perfect numbers between 1 to %d:\n", n);
/*
* Iterates from 1 to n and print if it is perfect number
*/
for(i=1; i<=n; i++)
{
sum = 0;
/*
* Checks whether the current number i is Perfect number or not
*/
for(j=1; j<i; j++)
{
if(i%j==0)
{
sum += j;
}
}
/* If the current number i is Perfect number */
if(sum == i)
{
printf("%d is Perfect Number\n", i);
}
}
return 0;
}
bana bu çözmek için ipucu verin: 6
böyle mükemmel numarasını yazdırmak için biliyorum 1st perfect number
ve 496
3rd perfect number
ve 6 + 496 = 502.
int henry (int i, int j)
{
//how do i start
}
olduğunu, çünkü Örneğin, henry(1, 3)
502
dönmelidir sorun, teşekkürler.
için j' argümanlar 'Burada kullanmış algoritma çok yavaş ve seni' I' değiştirerek 4'ten fazla (6, 28, 496, 8128) – 0xEDD1E
Başlat bulamaz düşünmek ve "Henry", "i" ve "b" gibi, "henry" 'de uygulanacak olan mükemmel toplam testinizde kullanılan "i" ve "j" ile çakışmayan başka bir şeye. Daha sonra nasıl çözüleceği daha açık olabilir. –