有一个运算程序a@b=n,可以使(a+c)@b=n+c,a@(b+c)=n-2c,如果1@1=2,则2010@2010=__过程要详细,可以加分。

lcw0622
2011-10-29 · TA获得超过627个赞
知道小有建树答主
回答量:454
采纳率:0%
帮助的人:348万
展开全部
你是要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;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式