测试代码:
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
int isContentSeven(int m) {//mutiple
while (m) {
if (m % 10 == 7)
return 1;
else {
m = m / 10;
}
}
return 0;
}
int main(int argc, char const *argv[])
{
int a[4] = {0};//模拟甲乙丙丁四个人
//num为输入的数,i控制报数次数,j为甲乙丙丁的控制,count为当前所报数
int num, i = 0, j, count = 0;
std::cin >> num;
while (i < num) {
for (j = 0; j < 4; j++) {
++count;
++i;
if (0==count%7/*is 7 multiple*/||
isContentSeven(count)/*has 7*/) {
--i;
++a[j];
}
}
}
for (i = 0; i < 4; ++i) {
std::cout << a[i] << std::endl;
}
return 0;
}
考试系统提交为80分,暂时自己没能找出问题所在,哪位大佬看到的话,帮忙指出错误,谢谢了。