【牛客 - 185D】星光晚餐(数论,结论,思维,模型)

版权声明:欢迎学习我的博客,希望ACM的发展越来越好~ https://blog.csdn.net/qq_41289920/article/details/82925773

题干:

Johnson和Nancy要在星光下吃晚餐。这是一件很浪漫的事情。

为了增加星光晚餐那浪漫的氛围,他拿出了一个神奇的魔法棒,并且可以按照一定的规则,改变天上星星的亮暗。

Johnson想考考Nancy,在他挥动魔法棒后,会有多少颗星星依旧闪耀在天空。他知道,Nancy一定会一口说出答案。

Nancy当然知道怎么做啦,但她想考考你!

Johnson先将天上n个星星排成一排,起初它们都是暗的。

他告诉他的妹子,他将挥动n次魔法棒,第i次挥动会将编号为i的正整数倍的星星的亮暗反转,即亮的星星转暗,暗的星星转亮。

Johnson想问Nancy,最终会有多少个星星依旧闪亮在天空。


 

输入描述:

一个整数n,含义请见题目描述。

输出描述:

一个整数ans,即n次操作后会有多少个星星依旧闪亮。

示例1

输入

复制

3

输出

复制

1

示例2

输入

复制

7

输出

复制

2

备注:

对于60%的数据:n≤2×106
对于100%的数据:n≤1018

解题报告:

    有一个相关的问题模型 传送门

   总之结论就是我们需要知道的是n以内有多少个完全平方数,那么就是 ‘开平方向下取整’ 个平方数。所以直接开平方。

AC代码:

#include<bits/stdc++.h>
#define ll long long 
using namespace std;
ll n;
int main()
{
    scanf("%lld",&n);
    printf("%lld",(long long)(sqrt(n)));
}

猜你喜欢

转载自blog.csdn.net/qq_41289920/article/details/82925773