これは、除数を出力してから、特定の数の除数の数を出力するための私のコードです。
ここで、5 と 8 の 2 つのテスト ケースを使用するとします。このコードは、カウント 5 を 2 として、8 を 6 として指定します (つまり、前のカウントを追加します)。
int count = 0;
同じ出力を返すので宣言しても。
int count = 0
function 内で宣言すると、別の問題が発生しますfactors
。
このコードは、すべてのケースで count を 0 としています。
#include<iostream>
using namespace std;
int count;
long long factors(long n, long f=1)
{
if(n%f==0) {
cout << f << endl;
count++;
}
if(f==n) {
return 0;
}
factors(n,f+1);
return count;
}
int main()
{
int n;
int t;
cin >> t;
while(t--)
{
cin >> n;
cout << factors(n) << endl;
}
return 0;
}