C语言测试n的阶乘和x的n次方
发布日期:2021-06-30 18:55:01 浏览次数:2 分类:技术文章

本文共 1324 字,大约阅读时间需要 4 分钟。

题目描述

输入一个正数x和一个正整数n,求下列算式的值。要求定义两个调用函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即xn),两个函数的返回值类型是double。

x - x^{2}/2! + x^3/3! + ... + (-1)^{n-1}x^n/n! 

×输出保留4位小数。

输入

x n

输出

数列和

样例输入

2.0 3

样例输出

1.3333

 

答案

/*************************************************************************        > File Name: 2.c        > Author:         > Mail:         > Created Time: Wed 12 Dec 2018 09:03:22 AM CST ************************************************************************/#include
double fact(int n){ double s = 1.0; for(int i=1; i<= n; i++) { s=s*i; } return s;}double mypow(double x,int n){ double s = 1.0; //printf("%lf %d\n",x,n); if(n == 0) { return 1.0; } if(n == 1) { return x; } s = x; for(int i =0;i

同事提供的答案,不用函数实现

#include 
int main (){double x, ret, tmp1, tmp2;int n, i, j;while (~scanf("%lf %d", &x, &n)){ret = 0;for (i = 1; i <= n; i++){tmp1 = 1;for (j = 1; j <= i; j++){tmp1 *= x;}tmp2 = 1;for (j = 1; j <= i; j++){tmp2 *= j;}if (i % 2 == 1){ret += tmp1 / tmp2;}else{ret -= tmp1 / tmp2;}}printf("%.04f\n", ret);}return 0;}

 

感兴趣的可以自行测试

 

 

欢迎关注微信公众号-嵌入式Linux

觉得不错,请帮忙转发,点赞,您的每一次支持,我都将铭记于心

转载地址:https://linus.blog.csdn.net/article/details/84975737 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Android 充电LED控制
下一篇:git commit查找提交的关键字

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年05月01日 08时05分17秒