洛谷 P5719 深基4 例3 分類平均

2021-10-16 17:40:19 字數 713 閱讀 2901

題目描述

給定n(n≤10000) 和k(k≤100),將從 1 到 n 之間的所有正整數可以分為兩類:a 類數可以被 k 整除(也就是說是 k 的倍數),而 b 類數不能。請輸出這兩類數的平均數,精確到小數點後 1 位,用空格隔開。

資料保證兩類數的個數都不會是 0。

輸入格式

無輸出格式

無輸入輸出樣例

輸入100 16

輸出56.0 50.1

小總結:

因為temp1和temp2都是從0開始加,所以到最後temp的個數應該是temp而非temp-1;

如何得出:發現答案不對,隨便(?)嘗試修改資料進行嘗試。

**:

#include

using

namespace std;

intmain()

else

}//求a平均

double suma=0;

for(

int i=

0;i) suma=suma/

(temp1)

;//求b平均

double sumb=0;

for(

int i=

0;isumb=sumb/

(temp2);

cout.

precision(1

);cout<" "

}

題解 P5719 深基4 例3 分類平均

之前的 latex 有點崩了,修改一下。這題大家可能第一下想到的方法就是列舉 1 到 n 逐一判斷這些數是否為 k 的倍數,這種做法的時間複雜度為 theta n 其實還有一種做法是列舉小於 n 的 k 的倍數,求出它們的和,即為 a 集合 再用總和減去 a 集合元素的和,即為 b 集合。當 k l...

洛谷 P5318 深基18 例3 查詢文獻

dfs和bfs的入門學習題目 使用set儲存每個點可達的邊,自動對每個點可達的點進行排序,減少後續遍歷sort的耗時。使用遞迴來進行dfs,使用佇列queue來進行bfs include include include include include include include using na...

洛谷 P5727 深基5 例3 冰雹猜想

題目描述 給出乙個正整數 n n 100 然後對這個數字一直進行下面的操作 如果這個數字是奇數,那麼將其乘 3 再加 1,否則除以 2。經過若干次迴圈後,最終都會回到 1。經過驗證很大的數字 7 10 11 都可以按照這樣的方式比變成 1,所以被稱為 冰雹猜想 例如當 n 是 20,變化的過程是 2...