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