Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
|c系列1+2x+3x^2+4x^3+…nx^(n-1)_C_Series - Fatal编程技术网

|c系列1+2x+3x^2+4x^3+…nx^(n-1)

|c系列1+2x+3x^2+4x^3+…nx^(n-1),c,series,C,Series,首先,我搜索了一下,发现的所有问题都很相似,但不完全是这个问题 这是我在这里的第一篇文章,我是编程的初学者,目前正在学习用C编写代码。 现在,我已经为这段代码挣扎了大约5个小时 问题是用C语言创建一个程序,只使用循环,不使用pow,只使用stdio.h库 问题是让用户给你两个数字——X和N 程序将打印以下方程式的结果: 1+2x+3x^2+4x^3+nx^n-1 例如,对于-X=2 N=3的输入 1*2^0 + 2*2^1 + 3*2^2 程序将打印的内容是17 到目前为止,这是我的尝试,我得

首先,我搜索了一下,发现的所有问题都很相似,但不完全是这个问题

这是我在这里的第一篇文章,我是编程的初学者,目前正在学习用C编写代码。 现在,我已经为这段代码挣扎了大约5个小时

问题是用C语言创建一个程序,只使用循环,不使用pow,只使用stdio.h库

问题是让用户给你两个数字——X和N 程序将打印以下方程式的结果:

1+2x+3x^2+4x^3+nx^n-1

例如,对于-X=2 N=3的输入

1*2^0 + 2*2^1 + 3*2^2
程序将打印的内容是17

到目前为止,这是我的尝试,我得到了幂函数,但我找不到一种方法将其合并到程序本身中

#include <stdio.h>

int main(void)    
{
    int i, j=0, b = 0;
    float x, n;
    double sum = 0, sumt=0;
    do{
        printf("Please enter two numbers \n");
        flushall;
        scanf("%f %f", &n, &x);
    } while (x <= 0);
    for (i = 1; i <= n; i++){
        sum = x*x;
    }

    sumt += sum;
    printf("%f", sum);
}

我不会给你代码,但你应该遵循的推理

首先,您必须以某种方式从用户获取数据作为参数,从stdio。。。随便

x = getFromUser
n = getFromUser
然后需要初始化一个临时结果

result = 0
您必须添加多少次?->正好n次

for(ii=0;ii<n;ii++) {
    result = result + pow((ii*x),(ii-1)) //There is something missing here, I'll let you guess what
}

我不会给你代码,但你应该遵循的推理

首先,您必须以某种方式从用户获取数据作为参数,从stdio。。。随便

x = getFromUser
n = getFromUser
然后需要初始化一个临时结果

result = 0
您必须添加多少次?->正好n次

for(ii=0;ii<n;ii++) {
    result = result + pow((ii*x),(ii-1)) //There is something missing here, I'll let you guess what
}

您需要自己找出代码,但总体思路如下:

创建自己的pow函数,返回x*n

int pow(int x, int n){
   //use a for or while loop to calculate x (*x)n times. 
   //pay attention to the base cases (i.e., when n = 0, or 1 etc)
}

ans = 0;
for(i = 0 to N-1){
   ans = ans + pow(x,i-1)*i;
}

您需要自己找出代码,但总体思路如下:

创建自己的pow函数,返回x*n

int pow(int x, int n){
   //use a for or while loop to calculate x (*x)n times. 
   //pay attention to the base cases (i.e., when n = 0, or 1 etc)
}

ans = 0;
for(i = 0 to N-1){
   ans = ans + pow(x,i-1)*i;
}

您需要利用表达式的术语之间的关系,而不是尝试创建pow的实现

第n项是nx^n-1。n-1-术语是n-1x^n-2

如果我们将第n项表示为Tn,将第n-1项表示为Tn-1

给定第一项的起始值

T(1) = 1
您可以使用上述公式计算后续项

下面的代码应该可以工作

// Initialize the values for N=1
term = 1;
sum = 1;

// Iterate starting from 2
for (i = 2; i <= n; i++){
    term *= x*i/(i-1);
    sum += term;
}

您需要利用表达式的术语之间的关系,而不是尝试创建pow的实现

第n项是nx^n-1。n-1-术语是n-1x^n-2

如果我们将第n项表示为Tn,将第n-1项表示为Tn-1

给定第一项的起始值

T(1) = 1
您可以使用上述公式计算后续项

下面的代码应该可以工作

// Initialize the values for N=1
term = 1;
sum = 1;

// Iterate starting from 2
for (i = 2; i <= n; i++){
    term *= x*i/(i-1);
    sum += term;
}

基于全能的@R_Sahu和其他人给出的提示的工作计划;D **


}

基于全能的@R_Sahu和其他人给出的提示的工作计划;D **



}

Google Horner的算法/方法-这将帮助或迷惑您到底是什么问题?你写过c代码吗?你知道如何在没有pow的情况下计算x^n吗?请发布你的尝试-这有助于得到你需要的答案。在我的尝试中编辑到目前为止,它得到的是幂函数。但是我现在正试图找到一种方法让它去做这个系列,但是它不断地打破。你有没有注意到单个数字对应于你的i?谷歌霍纳的算法/方法-这要么会帮助你,要么会让你困惑到底是什么问题?你写过c代码吗?你知道如何在没有pow的情况下计算x^n吗?请发布你的尝试-这有助于得到你需要的答案。在我的尝试中编辑到目前为止,它得到的是幂函数。但是我现在正试图找到一种方法让它来做这个系列,但是它一直在断开。你注意到单个数字与你的i相对应吗?他说没有使用pow函数。我知道,这是我回答的重点,他应该自己编写这个函数。不,不,不。这些简单的级数和可以在On中计算,而不需要任何额外的自定义POW…是的,当然不需要创建额外的函数。@Luisseira现在您已经指出了一个O1方法,这很好。但我说的是关于方法,而你们说的是关于^2方法。他说没有使用pow函数。我知道,这就是我回答的重点,他应该自己编写这个函数。不,不,不。这些简单的级数和可以在上计算,没有任何额外的自定义pow…是的,当然,不需要创建额外的函数。@Luisseira现在您已经指向了一个O1方法,这很好。但我说的是关于方法,而你们说的是关于^2方法。正如@RSahu所回答的,你们甚至不需要pow函数。这是在浪费执行时间,因为对于每个学期,你已经有了powx,n-1。是的,我同意你的观点,但他说他是编程初学者,所以我建议了一种我认为更容易遵循的方法。与需要一些数学知识的更有效的方法相比,这是一种假设。如果OP是编程初学者,但要解决一系列问题
我猜他确实有一些数学知识。正如@RSahu所回答的,你甚至不需要pow函数。这是在浪费执行时间,因为对于每个学期,你已经有了powx,n-1。是的,我同意你的观点,但他说他是编程初学者,所以我建议了一种我认为更容易遵循的方法。与需要一些数学知识的更有效的方法相比,这是一种假设。如果OP是一个编程新手,但要处理一系列的求和问题,我猜他确实有一些数学知识。好吧,他会因此得到一个提拔。他显然欠你一个人情beer@LuisSieira,我不清楚讲师是希望实现pow,还是希望学生能找到我建议的实现。如果他们开始学习编程,执行pow听起来是合乎逻辑的,包括输入、输出、赋值、基本算术、,流控制和函数声明。我想说他们期待战俘,但我喜欢你的方法。我从来都不是一个学微积分的人,在大学里这让我很沮丧,但我总是觉得它很美。@Luisseira,我同意你关于微积分是美的。有时需要一位特别的导师或作者来点燃内心的火花。我希望你内心的火花被点燃:我想这个答案对我来说比这个问题更复杂…呵呵。。。但我想我已经接近了。至于那个老师,她是个十足的恶魔他会因此得到提拔的。他显然欠你一个人情beer@LuisSieira,我不清楚讲师是希望实现pow,还是希望学生能找到我建议的实现。如果他们开始学习编程,执行pow听起来是合乎逻辑的,包括输入、输出、赋值、基本算术、,流控制和函数声明。我想说他们期待战俘,但我喜欢你的方法。我从来都不是一个学微积分的人,在大学里这让我很沮丧,但我总是觉得它很美。@Luisseira,我同意你关于微积分是美的。有时需要一位特别的导师或作者来点燃内心的火花。我希望你内心的火花被点燃:我想这个答案对我来说比这个问题更复杂…呵呵。。。但我想我已经接近了。至于那个老师,她是个十足的恶魔D