Exemple #1
0
// f(n) = n + f(n - 1)
// f(1) = 1
long add_n(unsigned n)
{
	if(n <= 1)	
		return 1;	
		
	return n + add_n(n -1);
}
Exemple #2
0
int main(void)
{
	unsigned n;
	long sum;
	printf("pls input n \n");
	scanf("%u", &n);

	sum = add_n(n);
	printf("sum = %ld \n", sum);
	return 0;
}
Exemple #3
0
//меню добавления узлов с клавиатуры
NODE* add(NODE* list)
{
	int uc;

	do
	{
		system("cls");

		printf_s("\n ДОБАВЛЕНИЕ ДАННЫХ ВРУЧНУЮ\n\n");
		puts(" 1 - В начало списка");
		puts(" 2 - В произвольную позицию");
		puts(" 3 - В конец списка");
		puts(" 0 - Назад");

		uc = userchoice();

		switch (uc)
		{
		case 1:
			list = add_first(list);
			break;
		case 2:
			list = add_n(list);
			break;
		case 3:
			list = add_last(list);
			break;
		case 0:
			break;
		default:
			system("cls");
			printf_s("\n ОШИБКА\n");
			printf_s("\n Введите существующий пункт\n\n ");
			system("pause");
			break;
		}
	} while (uc && uc < 0 || uc > 3);

	return list;
}