首先应该说,从这道题学到东西了。
开始时,感觉跟506题是很相似的,于是就在这道题的基础上改了一下,虽然运行结果是对的,但是,,当时想了好多方法,想着去找规律,计算带0数字的个数(太难找了),还是过转换成九进制数(不可行),后来受到一个人博客的启发,写了下面的程序:
感觉用结构体没起什么作用,想把它换成数组,想写没想就在主函数里面声明了int n[M];结果呢,结果呢,程序连输入都没输入就停止了,很纳闷这是怎么回事,因为我是在用结构体的那个程序上改的,别的地方应该不会有错。于是去问学长了,学长让我加断点调试,还没等我调试,他就把我训了一顿,给我说了错误的原因
我的属于第三条原因。
不过,说实话,这个错误没有经常遇到过,不过这次记住了!
以后也要多多积累错误经验!
学会熟练使用断点调试!
这道题的思路:
从0到M,挨个去看,用s记录带0的数的个数,n[i]代表从1到i不带0的数字的个数,i 代表所输入的数,n[i] = i - s;
还要注意一点,0,要输出Unlucky。