n把钥匙(编号1-n),m把锁(编号1-m),当锁的号码能够被钥匙的号码整除的时候,该锁就可以被打开/关闭。最初所有的锁都是锁住的状态,然后用所有的钥匙去开所有的锁,返回有几把锁最后是打开的。
注意事项
1 <= m, n <= 10^5
样例
给出 n = 1, m = 1, 返回 1。
解释:
编号为1的锁被打开了
给出 n = 2, m = 5, 返回3。
解释:
编号为1,3,5的锁被打开了
思路
构建数组nums,长度为m。对于1~n,找到小于等于m且可以整除的数,在nums的相应位置加一,表示进行开关锁的次数。偶数次的开关锁,锁的状态不会发生改变。最后在nums中,只有值为奇数的锁是开的。
#ifndef C934_H
#define C934_H
#include<iostream>