这个题还是需要一点技巧滴,关键是在怎么按照你自己输入的位数进行计算,我想的是用取余的方法,算一个数就输出一个数,最后剩下不足的再单独进行讨论。
注意前面还要有个递推。
代码如下:
#include <iostream>
using namespace std;
#define N 102
int main()
{
int a[N]={0,2},i,sum=0,n,m,j=1;
for(i=2;i<N;i++)
{
a[i]=a[i-1]+2;
}
while(cin>>n>>m)
{
for(i=1;i<=n;i++)
{
sum+=a[i];
if(i%m==0)
{
if(j==1)
{
cout<<sum/m;
j=0;
}
else
{
cout<<" "<<sum/m;
}
sum=0;
}
}
if(sum==0)
{
;
}
else
{
if(j==1)
{
cout<<sum/(n%m);
}
else
{
cout<<" "<<sum/(n%m);
}
}
cout<<endl;j=1;sum=0;
}
return 0;
}
仅代表个人观点,不喜勿喷!!!