HDU 1098

来源:互联网 发布:python 字符串转日期 编辑:程序博客网 时间:2024/06/06 13:15

一道关于取模运算的数学题,推倒出公式即可:

一开始把num数组放在了栈空间里面,并且对于index下标没有做溢出判断,从而使得k变为了47,让我很不解,后来发现是数组溢出覆盖了。

#include <cstdio>#include <iostream>#include <cstring>using namespace std;#define LEN 10000int num[LEN];int main() {int a, k;int sum;while(scanf("%d", &k) != EOF) {int i, j, index;memset(num, 0, sizeof(num));sum = 47;index = 0;while(num[0] != sum) {if(0 == sum%k) {a = sum/k;break;}num[index++] = sum%k;if(LEN == index) {break;}sum += 65;}if(num[0] == sum || LEN == index) {printf("no\n");}else {printf("%d\n", a);}}return 0;}