に2つの完全数の合計を返します。は、どのように私は2つの整数の引数、<code>i</code>と<code>j</code>を取り、<code>ith</code>と<code>jth</code>完全数の合計を返し<code>henry</code>という名前のメソッドを持つ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;
}
は私がこれを解決するためのヒントを与えてください:6
は、私はこのような完璧な番号を印刷する方法を知っている1st perfect number
と496
が3rd perfect number
と6 + 496 = 502.
int henry (int i, int j)
{
//how do i start
}
であるので、例えば、henry(1, 3)
は502
を返す必要があります問題、ありがとう。
あなたがここで使用しているアルゴリズムは非常に遅いです、と私はあなたが 'i'と' j'引数を変更することにより、4つ以上(6、28、496、8128) – 0xEDD1E
スタートを見つけることができませんだと思います'henry'に実装しなければならない完全和検定で使われた' i'や 'j'と衝突しない' a'や 'b'のようなものです。その後、それを解決する方法がより明確になるかもしれません。 –