我司准备现场商品打折活动,为增强趣味性,初始时有N个商品不参与打折活动。 第一轮,将所有N个商品都调整为参加打折活动。 接下来第二轮,将会每两个商品中,第二个不参加打折活动。 第三轮,每三个商品中,第三个商品活动状态切换(即,参加变成不参加,不参加变成参加) 第i轮,每i个商品就切换第i个商品的活动状态。直到第N轮,只需要切换最后商品的活动状态。 请问第 N轮后有多少个商品还在参加活动? 提示 0 <= N <= 109
区块链毕设网qklbishe.com为您提供问题的解答
我司准备现场商品打折活动,为增强趣味性,初始时有N个商品不参与打折活动。
第一轮,将所有N个商品都调整为参加打折活动。
接下来第二轮,将会每两个商品中,第二个不参加打折活动。
第三轮,每三个商品中,第三个商品活动状态切换(即,参加变成不参加,不参加变成参加)
第i轮,每i个商品就切换第i个商品的活动状态。直到第N轮,只需要切换最后商品的活动状态。
请问第N轮后有多少个商品还在参加活动?
提示
- 0 <= N <= 109
这道题本质上是“灯泡开关问题”,可以发现,每次会进行操作的活动位置即当前活动位置的因子。
如:第六个活动,会在第1,2,3,6轮被操作,而 6 =2*3 = 1*6,最后保持不参与打折状态;第四个活动会在第1,2,4轮被操作,而4 = 2*2 = 4*4,操作次数为奇数次,因此最后保持打折状态。
不难发现,当灯泡所处位置可以被开平方时,操作次数为奇数次,否则操作为偶数次,最后参与打折的活动个数实则是[1,n]中可以被开平方的数字个数,有如下代码:
——————————————————————————————————————————
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* @param n int整型
* @return int整型
*/
public int discountSwitch (int n) {
// n个商品,n轮之后,还有几个商品参加打折活动
int count = 0;
for(int i=1;i*i<=n;i++){
count++;
}
return count;
}
}
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* @param n int整型
* @return int整型
*/
public int discountSwitch (int n) {
// n个商品,n轮之后,还有几个商品参加打折活动
int count = 0;
for(int i=1;i*i<=n;i++){
count++;
}
return count;
}
}
——————————————————————————————————————————
编辑于 今天 15:55:05
以上就是关于问题我司准备现场商品打折活动,为增强趣味性,初始时有N个商品不参与打折活动。 第一轮,将所有N个商品都调整为参加打折活动。 接下来第二轮,将会每两个商品中,第二个不参加打折活动。 第三轮,每三个商品中,第三个商品活动状态切换(即,参加变成不参加,不参加变成参加) 第i轮,每i个商品就切换第i个商品的活动状态。直到第N轮,只需要切换最后商品的活动状态。 请问第 N轮后有多少个商品还在参加活动? 提示 0 <= N <= 109的答案
欢迎关注区块链毕设网-
web3一级市场套利打新赚钱空投教程
区块链NFT链游项目方科学家脚本开发培训
从业7年-专注一级市场
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 我司准备现场商品打折活动,为增强趣味性,初始时有N个商品不参与打折活动。 第一轮,将所有N个商品都调整为参加打折活动。 接下来第二轮,将会每两个商品中,第二个不参加打折活动。 第三轮,每三个商品中,第三个商品活动状态切换(即,参加变成不参加,不参加变成参加) 第i轮,每i个商品就切换第i个商品的活动状态。直到第N轮,只需要切换最后商品的活动状态。 请问第 N轮后有多少个商品还在参加活动? 提示 0 <= N <= 109
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 我司准备现场商品打折活动,为增强趣味性,初始时有N个商品不参与打折活动。 第一轮,将所有N个商品都调整为参加打折活动。 接下来第二轮,将会每两个商品中,第二个不参加打折活动。 第三轮,每三个商品中,第三个商品活动状态切换(即,参加变成不参加,不参加变成参加) 第i轮,每i个商品就切换第i个商品的活动状态。直到第N轮,只需要切换最后商品的活动状态。 请问第 N轮后有多少个商品还在参加活动? 提示 0 <= N <= 109
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 我司准备现场商品打折活动,为增强趣味性,初始时有N个商品不参与打折活动。 第一轮,将所有N个商品都调整为参加打折活动。 接下来第二轮,将会每两个商品中,第二个不参加打折活动。 第三轮,每三个商品中,第三个商品活动状态切换(即,参加变成不参加,不参加变成参加) 第i轮,每i个商品就切换第i个商品的活动状态。直到第N轮,只需要切换最后商品的活动状态。 请问第 N轮后有多少个商品还在参加活动? 提示 0 <= N <= 109
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 我司准备现场商品打折活动,为增强趣味性,初始时有N个商品不参与打折活动。 第一轮,将所有N个商品都调整为参加打折活动。 接下来第二轮,将会每两个商品中,第二个不参加打折活动。 第三轮,每三个商品中,第三个商品活动状态切换(即,参加变成不参加,不参加变成参加) 第i轮,每i个商品就切换第i个商品的活动状态。直到第N轮,只需要切换最后商品的活动状态。 请问第 N轮后有多少个商品还在参加活动? 提示 0 <= N <= 109