c语言中不用pow函数的思路
我写的是
double fn( double x, int n){
int sum = 0;
if (n == 1)
sum = x;
else
for(int i = 1; i <= n; i++){
sum = x;
if(i % 2 == 0){
for(int j = 1; j < i; j++){
x*=x;
}
sum = sum - x;}
else if (i % 2 != 0) {
for(int j = 1; j < i; j++){
x*=x;
}
sum = sum + x;}
}
return sum;
}```
你的代码没有用到递归
这样写即可
#include <math.h>
double fn(double x, int n) {
if (n == 1) return x;
return fn(x, n - 1) + pow(-1, n - 1) * pow(x, n);
}
供参考:
#include<stdio.h>
double fn(double x,int n);
int main()
{
double x;
int n;
scanf("%lf %d", &x, &n);
printf("%.2f", fn(x, n));
return 0;
}
/*你的代码将被嵌在这里*/
double quickerpower(double x, int n)
{
if (n == 0)
return 1.0;
if (n % 2 == 0)
return quickerpower(x, n / 2) * quickerpower(x, n / 2);
else
return x * quickerpower(x, n - 1);
}
double fn(double x,int n)
{
if (n == 1)
return x;
return fn(x, n-1) + quickerpower(-1, n-1) * quickerpower(x, n);
}
import random
import string
x = int(input())
random.seed(x)
n=int(input())
m=int(input())
s = list(string.ascii_letters+string.digits)
for i in range(n):
for j in range(m):
print(random.choice(s),end="")
print()