تمرین کامل بودن یا نبودن + جاوا/سی پلاس پلاس
در این نوشته تمرین “تمرین کامل بودن یا نبودن” که در وبسایت کوئرا موجود است را برای شما کاربران عزیز حل کردیم.
تمرین کامل بودن یا نبودن + جاوا/سی پلاس پلاس
سوال تمرین کامل بودن یا نبودن
برنامهای بنویسید که عددی مانند 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;
}
متشکرم در نوشته ی بالا اصلاح شد.