کامل بودن یا نبودن عدد
در این نوشته تمرین “تمرین کامل بودن یا نبودن” که در وبسایت کوئرا موجود می باشد را برای شما کاربران عزیز حل کرده ایم.
در مورد سایت کوئرا بیشتر بخوانید…
سوال تمرین کامل بودن یا نبودن
برنامهای بنویسید که عددی مانند N را از کاربر دریافت کند و در صورتی که خاصیت کامل بودن را داشته باشد، یعنی مجموع مقسومعلیههای آن (غیر از خودش) برابر با آن عدد باشد، YES و در غیر این صورت NO را چاپ کند.
ورودی تمرین کامل بودن یا نبودن
در یک خط عدد N به شما داده میشود.
1≤N≤200000
خروجی تمرین کامل بودن یا نبودن
چنانچه عدد کامل بود YES در غیراینصورت NO چاپ کنید.
مثال تمرین کامل بودن یا نبودن
Sample 1: =============================================== input : 27 output : No Sample 2: =============================================== input : 6 output : YES
راهنمای حل
کامل بودن عدد یا کامل نبودن عدد شامل یک حلقه می باشد که به عدد آنرا تقسیم می کنیم.
در صورتی که حاصل این تقسیم صفر شد آنرا به حاصل متغیر count اضافه می کنیم.
در آخر تساوی متغیر count و عدد اصلی را بررسی می کنیم و خروجی YES و NO را چاپ می کنیم.
حل + کد تمرین کامل بودن یا نبودن (جاوا)
import java.util.Scanner; public class Main { public static Scanner sc; public static void main(String[] args) { sc = new Scanner(System.in); int number = sc.nextInt(); int count = 0; for (int i = 1; i <= number / 2;i++) { if(count == number) { count += i; } } if(count == number) { System.out.println("YES"); } else { System.out.println("No"); } } }
حل + کد تمرین کامل بودن یا نبودن (سی پلاس پلاس)
#include <iostream> using namespace std; int main() { int number; cin >> number; int count = 0; for (int i = 1; i <= number / 2;i++) if(number % i == 0) count += i; if(count == number) cout << "YES" << endl; else cout << "No" << endl; return 0; }
کد حل شده توسط کاربر “امیرحسین” – (اصلاح)
#include "iostream.h" using namespace std; int main() { long long int a, b, c, n; cin>> n; c = 0; for(int i =1; i!=n; i++) { if(n % i == 0) { c += i; } } if(c == n) { cout <<"YES"; } else { cout<<"NO"; } return 0; }
موفق باشید.
سلام.
این کد تون کوعرا accept نمی شه.
کد درست اینه فقط یه خورده در هم بر هم شد اینجا. لطفا قرارش بدید
#include
using namespace std;
int main()
{
long long int a, b, c, n;
cin>> n;
c = 0;
for(int i =1; i!=n; i++)
{
if(n % i == 0)
{
c += i;
}
}
if(c == n)
{
cout << "YES";
}
else
{
cout << "NO";
}
return 0;
}
متشکرم در نوشته ی بالا اصلاح شد.