#P15542. [nordic2017]Yule Lads
[nordic2017]Yule Lads
题目描述
冰岛的孩子们非常幸运。他们不仅有一个圣诞老人,而是有 个圣诞小伙(Yule Lads)。
在圣诞节前的 个夜晚中,每个夜晚会有一个圣诞小伙来到镇上,给表现好的孩子送小礼物,给调皮的孩子送土豆。
在冰岛某个小镇的一条街上,有 栋房子,编号为 到 。每栋房子都装饰了圣诞灯,并且一开始所有灯都是亮着的。
在圣诞节前的第 个夜晚,来的圣诞小伙特别喜欢数字 ,所以他只会访问房号能被 整除的房子。圣诞小伙们很调皮,他会切换所有被访问房子的灯的状态:如果灯亮着,就关掉;如果灯关着,就打开。
但是,有些圣诞小伙生病了,没有来到镇上。
圣诞节当天,除了编号为 的房子以外,所有房子的灯都是亮着的。请问有多少个圣诞小伙来到了镇上?
题目保证,只有一种情况会导致这样的最终状态。
输入格式
输入一行一个正整数 ,表示圣诞小伙的数量,也是房子的数量。
输出格式
输出一个整数,表示来到镇上的圣诞小伙数量。
样例输入
6
样例输出
5
样例解释
当 时,如果没有圣诞小伙生病,那么:
- 圣诞节前 6 天,访问房子 ;
- 圣诞节前 5 天,访问房子 ;
- 圣诞节前 4 天,访问房子 ;
- 圣诞节前 3 天,访问房子 ;
- 圣诞节前 2 天,访问房子 ;
- 圣诞节前 1 天,访问房子 。
这样最终房子 的灯会是灭的,不符合实际情况。
如果只有圣诞节前 4 天本该来的那个圣诞小伙生病,那么最终只有房子 的灯是灭的,其余房子的灯都是亮的。因此答案为 ,即编号为 的圣诞小伙来了。
数据范围与子任务
| 子任务 | 分值 | 限制 |
|---|---|---|
| 1 | 15 | |
| 2 | 10 | |
| 3 | 12 | |
| 4 | 13 | |
| 5 | 15 | |
| 6 | 14 | |
| 7 | 21 | 无额外限制 |
总限制: