Exemple #1
0
int main(void)
{
	/*经过优化后的递归法求m的n次幂*/
	int m;
	int n;
	printf("请输入mn的值:");
	scanf("%d%d",&m,&n);
	printf("%ld",MyPow(m,n));
	getch();
	return 0;
}
Exemple #2
0
unsigned long MyPow(int m, int n)
{
	unsigned long tmp;
	if (0 == n)
	{
		return 1;
	}
	if (1 == n)
	{
		return m;
	}
	if (0==n%2)
	{
		tmp = MyPow(m,n/2);
		return tmp*tmp;
	}
	if (0 != n%2)
	{
		return m*MyPow(m,n-1);
	}
}
Exemple #3
0
Fichier : zad1.c Projet : mskiba/MO
void fillMatrix(int n, double **t, double x0) {
    int i, j;
    for (j = 0; j < n; j++) {
        t[0][j] = 1;
        for (i = 1; i < n; i++) {
            if (i + j < n)t[i][j] = t[i - 1][j] * (n - i - j);
        }
    }
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            if (i + j < n)t[i][j] *= MyPow(x0, n - j - i - 1);
        }
    }
}
Exemple #4
0
DWORD CharToDword(TCHAR* start, DWORD length)
{
	TCHAR temp;
	DWORD i;
	DWORD re = 0;
	for (i = 0; i < length; i++)
	{
		temp = start[i];
		if ('0' <= temp && '9' >= temp)
		{
			re += ((temp - '0')*MyPow(10, length - i - 1));
		}
		else
		{
			return 0;
		}
	}
	return re;
}
Exemple #5
0
Fichier : zad1.c Projet : mskiba/MO
double MyPow(double x0, int exp) {
    return exp > 0 ? MyPow(x0, exp - 1) * x0 : 1;
}