Hướng dẫn abundant number in c++ - số lượng dồi dào trong c ++

Một số lượng dồi dào [còn được gọi là số lượng quá mức] là một số trong lý thuyết số mà bản thân nó nhỏ hơn tổng của tất cả các ước số thích hợp của nó. Ví dụ: 12 là một số lượng phong phú: các ước 1,2,3,4,6, sum = 16> 12.

Sự khác biệt giữa tổng số các ước số và số được gọi là sự phong phú. Đối với ví dụ trên phong phú = 4 => 16 - 12.

Để kiểm tra số lượng phong phú, chúng tôi sẽ tìm thấy tất cả các yếu tố của số và thêm chúng. Số tiền này so với số cho thấy rằng nếu số đó có nhiều hay không.

Chương trình tìm một số có phong phú hay không

#include >stdio.h>
#include 
int main[]{
   int n = 56, sum = 0;
   for [int i=1; i n]{
      printf["The number is abundant number"];
   }
   else
      printf["The number is not abundant number"];
   return 0;
}

Cập nhật ngày 07 tháng 8 năm 2019 14:44:39

  • Câu hỏi và câu trả lời liên quan
  • Kiểm tra xem một số có thể được biểu thị bằng tổng số hai số phong phú trong C ++ không
  • C chương trình để xác minh xem các số có phong phú [thân thiện] hay không?
  • Số Adam trong C ++
  • Số số học trong C ++
  • Số xấu xí trong C ++
  • Số phụ gia trong C ++
  • Mã hóa số trong C ++
  • Số hoàn hảo trong C ++
  • Số Woodall trong C ++
  • Số Kaprekar trong C ++
  • Số Keith trong C ++
  • Số entringer trong C ++
  • Số Euler trong C ++
  • Số Narayana trong C ++
  • Số neon trong C ++

Số lượng phong phú trong C

Trong chương trình này, chúng tôi cần kiểm tra xem một số là một số lượng phong phú trong lập trình C. Một số N được cho là số lượng phong phú để tuân theo những điều kiện này

  • Tổng số các ước số thích hợp của nó lớn hơn chính số
  • Sự khác biệt giữa hai giá trị này được gọi là sự phong phú.
Ex:- Abundant number  12 having a proper divisor is 1, 2, 3, 4, 6 

The sum of these factors is 16 it is greater than 12 
So it is an Abundant number

Some other abundant numbers: 

18, 20, 30, 70, 78, 80, 84, 90, 96, 100, 104, 108, 120

Working:-

Đối với Num đầu vào của người dùng

  • Tìm tất cả các giao hàng thích hợp của num
  • Tính tổng của các ước này
  • Nếu tổng> num: số lượng dồi dào
  • Khác, không phải là một con số phong phú

Phương pháp 1 & NBSP;

Đối với Num đầu vào của người dùng

  • Khởi tạo Sum = 0
  • Chạy một vòng lặp trong lần lặp của [i]
  • Đối với mỗi người, tôi kiểm tra xem nó có phải là một số người của num [num % i == 0]
  • Nếu có thì thêm vào tổng
  • So sánh tổng và num, nếu sum> num thì số lượng phong phú của nó

Mã phương pháp 1

Chạy

#include 

int main []
{
    int num = 18, sum = 0;
    
    for[int i = 1; i < num; i++]
    {
        if[num % i == 0] 
            sum = sum + i; 
    }
if[sum > num]{
 printf["%d is an Abundant Number\n",num];
 printf["Num: %d\nSum: %d\nAbundance: %d", num, sum, [sum-num]]; 
} else
 printf["%d is not a Abundant Number",num]; 
} 
// Time complexity: O[N] 
// Space complexity: O[1]

Output:-

18 is an Abundant Number
Num: 18
Sum: 21
Abundance: 3

Phương pháp 2

Phương pháp này sử dụng các quan sát rằng tất cả các yếu tố có theo cặp.

Tất cả các yếu tố đi kèm theo cặp n = a * b [đối với mỗi A có tồn tại một b duy nhất] For n = a * b [For each a there exists a unique b]

Ví dụ: 100 [1.100], [2, 50], [4, 25], [5, 20], [10, 100]

Rút ngắn các loopwe có thể rút ngắn vòng chạy giữa [1, num] thành [1, num] We can shorten the loop running between [1, num] to [1, √num]

Vì chúng tôi sẽ tìm thấy tất cả các cặp trước √num [n = sqrt [n] * sqrt [n]]

Phương pháp 2 Mã

Chạy

#include  
#include 
int getSum[int num]{
    
    int sum = 0;
    
    for[int i = 1; i < sqrt[num]; i++]
    {
        if [num % i == 0]
        {
            // For num : [1, num] will always be pair of divisor
            // acc to def., we must ignore adding num itself as divisor
            // when calculating for abundant number
            if[i == 1]
                sum = sum + i;
            
            // Example For 100 [10,10] will be one of the pair
            // But, we should add value 10 to the sum just once
            else if[i == num/i]
                sum = sum + i;
            
            // add both pairs as divisors
            // For any divisor i, num/i will also be a divisor
            else
                sum = sum + i + num/i;
        }
    }
    return sum;
}

//main Program
int main[]
{
    int num=10;
    
  
    
    int sum = getSum[num];
    if[sum > num]
    {
        printf["%d is an Abundant Number\n",num];
        printf["Num: %d\nSum: %d\nAbundance: %d", num, sum, [sum-num]];
    }
    else
        printf["%d is not a Abundant Number",num];
}
// Time Complexity: O[√N]
// Space Complexity: O[1]

Output:-

Enter a positive number: 100
100 is an Abundant Number
Num: 100
Sum: 107
Abundance: 7

Phương pháp 2

Phương pháp này sử dụng các quan sát rằng tất cả các yếu tố có theo cặp.

Tất cả các yếu tố đi kèm theo cặp n = a * b [đối với mỗi A có tồn tại một b duy nhất]

  • Ví dụ: 100 [1.100], [2, 50], [4, 25], [5, 20], [10, 100]C | C++ |  Java | Python
  • Rút ngắn các loopwe có thể rút ngắn vòng chạy giữa [1, num] thành [1, num]C | C++ | Java | Python
  • Vì chúng tôi sẽ tìm thấy tất cả các cặp trước √num [n = sqrt [n] * sqrt [n]]
  • Phương pháp 2 Mã
  • Đoạn giới thiệu khóa học chính
  • Biểu ngữ liên quan
  • Nhận Prepinsta Prime & Nhận quyền truy cập vào tất cả hơn 150 khóa học được cung cấp bởi Prepinsta trong một đăng ký
  • Số dương hoặc số âm: & nbsp; c | C ++ | & nbsp; Java | Python
  • Số thậm chí hoặc số lẻ: & nbsp; c | C ++ | Java | Python
  • Tổng của n số tự nhiên đầu tiên: & nbsp; C | C ++ | Java | Python
  • Tổng của n số tự nhiên: & nbsp; C | C ++ | Java | Python
  • Tổng số trong một phạm vi nhất định: C | C ++ | Java & nbsp; | Python
  • Lớn nhất trong hai số: C | C ++ | Java | Python
  • Lớn nhất trong ba số: C | C ++ | Java | Python
  • Năm bước nhảy hay không: C | C ++ | Java | Python
  • Số nguyên tố: C | C ++ | Java | Python
  • Số nguyên tố trong một phạm vi nhất định: C | C ++ | Java | Python C | C++ | Java | Python
  • Tổng số chữ số của một số: C | C ++ | Java | Python
  • Đảo ngược của một số & nbsp ;: C | C ++ | Java | Python
  • Số palindrom: C | C ++ | Java | Python
  • Số Armstrong: C | C ++ | Java & nbsp; | Python
  • Số Armstrong trong một phạm vi nhất định: C | C ++ | Java | Python
  • Sê -ri Fibonacci UPTO & NBSP; NTH HERM: C | C ++ | Java | Python
  • Tìm thuật ngữ thứ n của loạt Fibonacci: C | C ++ | Java | Python
  • Đơn vị của một số: C | C ++ | Java | Python
  • Sức mạnh của một số: C | C ++ | Java | Python

Bài Viết Liên Quan

Chủ Đề