通过上面样例三的解析,可以发现c_next的答案为C*A[i]。
后面接文章看题目的时候发现题目有给c_next怎么求。哎!老眼昏花了,感觉我好不适合学计算机啊。哭了!大家还是好好看题目,不要像我写模拟题的时候还会这样,到时考试的时候钱白给啊!
我最开始一直用下面的提示来想怎么求出c_next的值,我考虑用递归来写,但是不知道怎么开始的,后面考虑用内循环为正确答案的的选项,外循环为第几题,但是不知道运用这个前提也得知道c_next的值,不然for循环内无法判断。
如果你只想得50分的话可以直接用这个函数。
#include <stdio.h>
#include<malloc.h>
int main() {
int n,m;
int i,j,k;
int c,tc;
scanf("%d %d",&n,&m);
int *p=malloc(sizeof(int)*n);
for(i=0;i<n;i++){
scanf("%d",&p[i]);
}
//b 正确选项 a选项 m神秘数字
int *b=malloc(sizeof(int)*n);
c=1;
int tem=0;
for(i=0;i<n;i++){
tc=p[i]*c;
b[i]=(int)(((m%tc)-tem)/c);
tem=tem+b[i]*c;
c=tc;
printf("%d ",b[i]);
}
return 0;
}