185D】星光晚餐(數論,結論,思維,模型)
阿新 • • 發佈:2018-12-13
題幹:
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))); }