اكتب برنامج C يقرأ n من الأرقام (المعطاة) المختارة من 0 إلى 9 ويطبع عدد التركيبات الممكنة حيث يكون مجموع الأرقام مساويًا لرقم (أرقام) معين آخر

  • برمجة
  • برمجة سي c

اكتب برنامج C يقرأ n من الأرقام (المعطاة) المختارة من 0 إلى 9 ويطبع عدد التركيبات الممكنة حيث يكون مجموع الأرقام مساويًا لرقم (أرقام) معين آخر. لا تستخدم نفس الأرقام في نفس التركيبة

على سبيل المثال ، المجموعات حيث n = 3 و s = 6 هي كما يلي:

1 + 2 + 3 = 6

0 + 1 + 5 = 6

0 + 2 + 4 = 6

مثال عن الخرج المتوقع :

Input the number:
3

Sum of the digits:
6
Number of combinations: 3

الأجوبة

/*Write a C program that reads n digits (given) chosen from 0 to 9 and prints the number of combinations where the sum of the digits equals to another given number (s). Do not use the same digits in a combination*/

#include <stdio.h>
int combination(int n, int s, int a)
{
	int i,result = 0;
	if (n == 1)
	{
		if (s >= a && s <= 9)
		{
			return 1;
		}
		else
		{
			return 0;
		}
	}

	for (i = a; i <= 9; i++)
	{
	        
		result += combination(n - 1, s - i, i + 1);
	 
	}

	return result;
}

int main()
{
	int  n,s;
        printf("Input the number:\n");
		scanf("%d", &n);
		printf("\nSum of the digits:\n");
		scanf("%d", &s);
		if (n != 0 && s != 0)
		{
			printf("Number of combinations: %d\n",combination(n,s,0));
		}
		
	return 0;
}
هل كان المحتوى مفيد؟

تبحث عن مدرس اونلاين؟

محتاج مساعدة باختيار المدرس الافضل؟ تواصل مع فريقنا الان لمساعدتك بتأمين افضل مدرس
ماهو التخصص الذي تبحث عنه؟
اكتب هنا...