思路:
题目说了一大堆,其实看题目提示一步步的写就好了,只需要处理掉多余的计算即可,同时不要为一些没必要的数据开辟数组空间,例如只在输入时用到的a数组,没必要开辟空间,以及注意循环的边界值,给c[0]初始化。
C++代码实现如下:
#include<iostream>
using namespace std;
int main() {
long int n,m,num;
cin>>n>>m;
int c[n+1];
int b[n+1];
c[0] = 1;
int dis = 0;
for(int i = 1; i<=n; ++i) {
cin >> num;
c[i] = num*c[i-1];
int temp = (m%c[i])-dis;
b[i] = temp/c[i-1];
cout << b[i] << ' ';
dis +=c[i-1]*b[i];
}
cout << endl;
return 0;
}