For Better Performance Please Use Chrome or Firefox Web Browser

23-1

#include<iostream.h>

double tavan1(double a, int b)
{
	if (b==0)
		return 1;
	if (b<0) {
		a = 1/a;
		b *= -1;
	}
	return a * tavan1(a, b-1);
}

double tavan2(double a, int b)
{
	if (b==0)
		return 1;
	if (b<0) {
		return 1. / tavan2(a, -b);
	}
	return a * tavan2(a, b-1);
}

double tavan3(double a, int b)
{
	if (b==0)
		return 1;
	if (b<0) {
		return (1. / a) * tavan3(a, b+1);
	}
	return a * tavan3(a, b-1);
}

void main ()
{
	double t1, t2, t3;

	t1 = tavan1(3, -4);
	t2 = tavan2(3, -4);
	t3 = tavan3(3, -4);
	cout << t1 << " " << t2 << " " << t3 << endl;
}

تحت نظارت وف ایرانی