作业帮 > 数学 > 作业

有一个运算程序a@b=n,可以使(a+c)@b=n+c,a@(b+c)=n-2c,如果1@1=2,则2010@2010=

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/03/29 04:25:16
有一个运算程序a@b=n,可以使(a+c)@b=n+c,a@(b+c)=n-2c,如果1@1=2,则2010@2010=__过程要详细,
你是要C的程序还是什么的程序?
再问: 要解题的过程,每一步,@是个带圈的+号(⊕) a⊕b=n,可以使(a+c)⊕b=n+c,a⊕(b+c)=n-2c,如果1⊕1=2,则2010⊕2010=?
再答: 那个无所谓了。 你可以分析下这个题目的通项,可以发现求解2010⊕2010时,可以转化为(2009+1)⊕2010=2009⊕2010+1=2009⊕(2009+1)+1......以此类推。这样可以通过递归实现。 你也可以这样想, 知道了1⊕1,就可以知道2⊕1=1⊕1+1,3⊕1=2⊕1+1=1⊕1+1,也就是说当左边增加时表达式加1,由此得到2010⊕1,然后又可以得出2010⊕2的值,以此类推,最终得到2010⊕2010.这样可以通过迭代实现。 我用 的是迭代的方法,比较容易理解。 #include using namespace std; int calc(int a,int b); int main() { printf("%d",calc(2010,2010));//要计算其他的值可以修改这两个数字 } int calc(int a ,int b) //计算表达式a⊕b { int m=1; while(a>0)//计算左边,通过a控制次数 { m=m+1; a--; } while(b>1)//计算右边,通过b控制次数 { m=m-2; b--; } return m; }
再问: 这是七年级的数学题,你说的太难通了,我们只教整体入,你用整体代入解答可以吗?
再答: 不好意思,我弄错你的意思了,我以为你是要用计算机来解决这个问题。。。。。。 整体带入就是第二个方法,叫迭代。a@b=n,可以使(a+c)@b=n+c,a@(b+c)=n-2c 你可以这样理解 (a+c)@b=a@b+c,将a@b求出再带入就可以求(a+c)@b了。 那么带入呢,就是说可以将其他的值带入其中,比如2010@1=(1+2009)@1=1@1+2009,就可以算出2010@1的值了。再将其带入到2010@2010=2010@(1+2009)=2010@1-2*2009中,就可以算出2010@2010的值了。