永发信息网

C语言OJ题错误代码Output Limit Exceed,求大神改正一下

答案:2  悬赏:50  手机版
解决时间 2021-01-25 07:49
  • 提问者网友:几叶到寒
  • 2021-01-25 03:36
Description
计算a+b,0<=a,b<1000。
Input
输入有多对整数a和b组成,每对a和b占一行,a,b用空格分开。
Output
每行输出一个a+b的值,顺序与输入对应。每个格式样例之间用一个空行分隔开。
Sample Input
1 2
10 20
15 35
Sample Output
3

30

50
我写的代码为
#include
#include

int main()
{
int a,b;
for (;;)
{
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
break;
}
for (;;)
{
scanf("%d%d",&a,&b);
printf("\n%d\n",a+b);
}
return 0;
}
虽然在codeblocks运行成功,但是提交出现错误,求解释以及改正
最佳答案
  • 五星知识达人网友:上分大魔王
  • 2021-01-25 03:55
#include 
#include 

int main()
{
    int a,b;
    for (;scanf("%d%d",&a,&b)!=EOF;)
    {     
        printf("%d\n",a+b);
    }
    return 0;
}
全部回答
  • 1楼网友:千夜
  • 2021-01-25 04:22
你这个需要剪枝,下面我写这个是做了简单的剪枝的。。。 虽然不敢保过,但也算个思路给你吧。 #include int cont=7; int maxcount=1000000; int miane[cont]={100,50,20,10,5,2,1}; int count=0; int sum=0; void back(int ci,int left); int main() { back(0,100000); printf("%d\n",sum); return 0; } void back(int ci,int left) { int i; if(ci==cont) { return; } for(i=0;left-i*miane[ci]>=0;i++) { if(i>0) { count++; } if(count>maxcount) { break; } if(left-i*miane[ci]==0&&i!=0) { sum++; } back(ci+1,left-i*miane[ci]); } count-=i-1; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯