第五屆藍橋杯(國賽) 生物晶元

2021-10-08 20:19:04 字數 1538 閱讀 2636

問題描述

x 博士正在研究一種生物晶元,其邏輯密集度、容量都遠遠高於普通的半導體晶元。

博士在晶元中設計了 n 個微型光源,每個光源操作一次就會改變其狀態,即:點亮轉為關閉,或關閉轉為點亮。

這些光源的編號從 1 到 n,開始的時候所有光源都是關閉的。

博士計畫在晶元上執行如下動作:

所有編號為 2 的倍數的光源操作一次,也就是把 2 4 6 8 … 等序號光源開啟

所有編號為 3 的倍數的光源操作一次, 也就是對 3 6 9 … 等序號光源操作,注意此時 6 號光源又關閉了。

所有編號為 4 的倍數的光源操作一次。

直到編號為 n 的倍數的光源操作一次。

x博士想知道:經過這些操作後,某個區間中的哪些光源是點亮的。

輸入格式

3 個用空格分開的整數:n,l,r (l < r < n < 1015)

n 表示光源數,l 表示區間的左邊界,r 表示區間的右邊界。

輸出格式

輸出 1 個整數,表示經過所有操作後,[l, r] 區間中有多少個光源是點亮的。

樣例輸入1

5 2 3

樣例輸出1

2樣例輸入2

10 3 6

樣例輸出2

3題解一

刷陣列:會超時,而且陣列也開不了這麼大

#include

using

namespace std;

bool st[

1000010];

intmain()

for(

int i =

0; i < l; i ++)if

(st[i]

) ans --;

cout << ans << endl;

return0;

}

題解二

完全平方數:

定義:若 a = b2,則 a 就是乙個完全平方數(a,b 均為整數)

有題意可得,只有操作奇數次,該光源才會亮,即有奇數個因子,而完全平方數就擁有奇數個因子

以 9 為例:1、3、9

但是題目排除了 1 這個因子,所以完全平方數的因子數量變為偶數,而非完全平方數的因子數量變為奇數

∴ 我們要求的是非完全平方數的數量,即總數 - 完全平方數的數量

#include

#include

using

namespace std;

typedef

long

long ll;

intmain()

ps:吃了沒文化的虧 ?

第五屆藍橋盃國賽C B組 生物晶元

x博士正在研究一種生物晶元,其邏輯密集度 容量都遠遠高於普通的半導體晶元。博士在晶元中設計了 n 個微型光源,每個光源操作一次就會改變其狀態,即 點亮轉為關閉,或關閉轉為點亮。這些光源的編號從 1 到 n,開始的時候所有光源都是關閉的。博士計畫在晶元上執行如下動作 所有編號為2的倍數的光源操作一次,...

第五屆藍橋杯決賽C C B組 生物晶元

第一部分 題目 生物晶元 x博士正在研究一種生物晶元,其邏輯密集度 容量都遠遠高於普通的半導體晶元。博士在晶元中設計了 n 個微型光源,每個光源操作一次就會改變其狀態,即 點亮轉為關閉,或關閉轉為點亮。這些光源的編號從 1 到 n,開始的時候所有光源都是關閉的。博士計畫在晶元上執行如下動作 所有編號...

藍橋杯 2023年第五屆真題 生物晶元

時間限制 1sec 記憶體限制 128mb 提交 44 解決 6 題目描述 x博士正在研究一種生物晶元,其邏輯密集度 容量都遠遠高於普通的半導體晶元。博士在晶元中設計了 n 個微型光源,每個光源操作一次就會改變其狀態,即 點亮轉為關閉,或關閉轉為點亮。這些光源的編號從 1 到 n,開始的時候所有光源...