0
Program to find a perfect number in c++. (please tell where im wrong)
What did i do wrong??? My code for t test cases- #include <bits/stdc++.h> using namespace std; int main() { int t, count, n; cin>>t; count=0; while(t--){ cin>>n; int i; for(i=1; i=n/2; i++) { if(n%i==0) count= count + i; if(n%i!=0) count= count + 0; } if(count ==n) cout<<"true"<<endl; else cout<<"false"<<endl; } return 0; }
1 Answer
+ 1
for loop condition is wrong.. Missing <=
Corrected code but if you have confusion in giving input do it with single input. and Better, not to use while loop...
#include <bits/stdc++.h>
using namespace std;
int main()
{
int t, count =0, n,i;
cin>>t;
while(t--){
cin>>n;
for(i=1; i <= n/2; i++)
{
if(n%i==0)
count= count + i;
//your 2nd if has no use, I removed it.
}
if(count ==n)
cout<<"true"<<endl;
else
cout<<"false"<<endl;
}
return 0;
}