عضو کانال یوتیوب ما شوید.

تمرین کامل بودن یا نبودن + جاوا/سی پلاس پلاس

کامل بودن یا نبودن عدد
کامل بودن یا نبودن عدد

کامل بودن یا نبودن عدد

در این نوشته تمرین “تمرین کامل بودن یا نبودن” که در وبسایت کوئرا موجود می باشد را برای شما کاربران عزیز حل کرده ایم.

 

در مورد سایت کوئرا بیشتر بخوانید…

سوال تمرین کامل بودن یا نبودن

برنامه‌ای بنویسید که عددی مانند 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;
}

 

موفق باشید.

منبع سوال : وبسایت کوئرا

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]