最近,我在编程课程中遇到了这个问题:
捕获输入错误的一种有用技巧是使用校验位。例如,假设一所学校分配了一个 每位学生的六位数字。可以使用以下公式从其他数字确定第七位数字:
7 th digit =(1 *(1 st 数字)+ 2 *(2 nd 数字)+ ... + 6 *(6 th 数字))%10
当用户输入学号时,用户键入所有七位数字。如果输入的数字不正确,请检查 在90%的情况下,数字将无法匹配。编写一个交互式程序,提示输入一个六位数的学号 并使用上述公式报告该号码的校验位。
正确完成此程序后,请回答以下问题:
可生成多少7位数的有效学生总数?修改您的程序以回答此问题
- 我已经完成了这个问题的前半部分,我需要编写生成代码的程序,但我需要帮助下半部分,即:我如何找到可以使用的有效学号的总数7位数?我的意思是,下半场的参数真的很模糊,我觉得这是一些技巧问题。有什么样的公式我不知道可以解决这个问题吗?任何建议都非常感谢。谢谢。
答案 0 :(得分:0)
考虑实施它:
您可以遍历数字100 000到999 999,这些数字都是6位数字。您可以从前6位数字计算第7位数字。这个数字是一个很好的数字,因为它有7位数字,第7位数字符合约束。并且没有其他好的数字,因为你查看了潜在好数字的前6位的所有可能性。
因此,良好数字的总数为999 999 - 100 000 + 1 = 900 000 。 或999 999 - 0 + 1 = 1 000 000,如果0000000被视为有效数字。