ACM基础题 输出没问题 网站提交显示wrong answer 其他高级的做法看不来 只求指出我代码中的错误

img

img

img


#include <stdio.h>
int main() {
int VUL, D, t, k, i, n;
while (scanf("%d%d", &VUL, &D) != EOF) {
t = 0; i = 1; k = 0;
if (VUL % D == 0) {
n = VUL / D;
}
else {
n = VUL / D + 1;
}
while (n > 0) {
k++;
for (i = 1; i < k; i++) {
if (n == 0) {
break;
}else{
n-- ;
t++;
}
}
if (n == 0) {
break;
}else{
t++;
}
}
t--;
printf("%d", t);
}
return 0;
}

你自己代码问题的话,for里面的判断条件应该是i<=k;最后printf上面的t--我不是很懂,应该不需要才是,但你样例也没有,我也不能确认。
不过就算你改好了我感觉你应该也会超时

#include <stdio.h>
int main()
{
    int a, b;
    scanf("%d%d", &a, &b);
    printf("%d", 2 * (a / b) - 1 + 2 * (a % b ? 1 : 0));
}

这不就是考等差数列么