#include
using namespace std;
int odd(int o);
int even(int e);
int function(int a,int b,int i,int j);
int a,b,i,j;
int main(){
cout<<"Please enter the following four positive integers in order. They will be assigned to a, b, I, and j"<<endl;
cin>>a>>b>>i>>j;
function(a,b,i,j);
cout<<function(a,b,i,j)<<endl;
}
int function(int a,int b,int i,int j) {
int add=0,ans= 0;
if(i>2) {
for (; i < j; i++) {
if (i % 2 == 0) {
ans = even(i);
}
else if (i % 2 == 1){
ans = odd(i);
}
}
add =ans+add;
}
else if(i==1){
add=a;
}
else if(i==2){
add=b;
}
return add;
}
int odd(int o){
int res1=a;
if(o<=2){
res1=a;
}
else{
res1=even(o-1)+o*odd(o-2);}
return res1;
}
int even(int e) {
int res2=b;
if (e <= 2) {
res2 = b;
}
else {
res2 = e * odd(e - 1) - even(e - 2);
}
return res2;
}
程序没有按照要求进行输出,不知道哪里有bug。请给出一个解决方案
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- CSDN专家-link 2021-07-05 23:19关注
这是一个递归函数啊
int fun(int a,int b,int n) { if(n<0) return 0; if(n==1) return a; if(n==2) return b; if(n%2 == 0) return n*fun(n-1)-fun(n-2); return fun(n-1)+n*fun(n-2); } void main() { int a,b,i,j; scanf("%d %d %d %d",&a,&b,&i,&j); int sum = 0; for(int k=i+1;k<j;k++) sum += fun(k); printf("总和为:%d",sum); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
- ¥15 基于卷积神经网络的声纹识别
- ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
- ¥100 为什么这个恒流源电路不能恒流?
- ¥15 有偿求跨组件数据流路径图
- ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
- ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
- ¥15 一直显示正在等待HID—ISP
- ¥15 Python turtle 画图