[C] 145 Tìm “Số hoàn thiện đầu tiên” trong 1 chiều các số nguyên. Nếu mảng ko có số hoàn thiện thì trả về giá trị -1

Tác giả:

  • Trần Hán Huy – tranhanhuy.wordpress.com

Sách:

  • Bài tập kĩ thuật lập trình C/C++ – Nguyễn Tấn Trần Minh Khang

Đề bài

  • 145 Tìm “Số hoàn thiện đầu tiên” trong 1 chiều các số nguyên. Nếu mảng ko có số hoàn thiện thì trả về giá trị -1.

Code

int SoHoanThien(int n)
{
   int tong=0;
   for (int i=1 ; i<n; i++)
       if(n%i==0)
          tong = tong + i;
   if (tong == n)
      return 1;
   return 0;
}
int SoHoanThienDauTien(int a[],int n)
{
   for(int i=0; i<n; i++)
      if(SoHoanThien(a[i])==1)
         return a[i];
   return -1;
}

Leave a comment