杭电acm 2015 偶数求和

2009-09-23 17:16

这道题其实还好啦,比较快就编出来了啊,可是没考虑到余数为0的情况,所以老是提示:

Runtime Error
(INTEGER_DIVIDE_BY_ZERO),就是被0除,后来忘了当m%n的余数为零时,也要输出一空行的,就这样也折腾了半天啊。

#include<iostream> 
using namespace std;

int main()
{
    int n,m;
    while(cin>>n)
    { 
        cin>>m;
        int yu=n%m;
        int sum=0;
        for(int i=1,j=2;i<=n;i++,j+=2)
        {
            sum+=j;
            if(i%m==0)
            {
                if(i==m)
                    cout<<sum/m;
                else
                    cout<<" "<<sum/m;
                
                sum=0;
            }
            
            if(i==n&&yu!=0)            //注意,如果余数为零     
                cout<<" "<<sum/yu<<endl;
            
            //那么这里就除0了啊,所以要确定yu!=0 
            if(i==n&&yu==0)           //如果yu=0,则另外输出 
                cout<<endl;
            
        }
        
    }
    
    return 0;
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注