這是第二場選拔賽, 主要是本科的幾個班級, 共250人左右參賽, 1594次提交, 434次ac, 題目難度相比昨天較為簡單一些, 廢話不說 上題解
//直接輸出並換行即可, 記得換行!!
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
#define ms(x, n) memset(x,n,sizeof(x));
typedef
long
long ll;
const ll maxn =
1e6+10;
intmain()
//涉及基本的多行輸入和選擇判斷, 因為是輸入正整數所以不考慮等腰直角三角形
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
#define ms(x, n) memset(x,n,sizeof(x));
typedef
long
long ll;
const ll maxn =
1e6+10;
intmain()
return0;
}
//涉及基本的氣泡排序, 然後在氣泡排序交換時對每次排序記錄次數即可記錄次數
其實這道題不算很難, 只是課本中的知識, 但不知道為什麼只有幾位同學做了出來
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
#define ms(x, n) memset(x,n,sizeof(x));
typedef
long
long ll;
const ll maxn =
500010
;int num[maxn]
, n;
intsolve()
intmain()
return0;
}
這道題目是唯一的一道英文題, lcm是最小公倍數的意思, 翻譯過來就是最大最小公倍數, 題意就是在1到n範圍內找出三個數能組成最大的最小公倍數
這個地方牽扯到數論中的一點兒基礎知識, 很簡單的知識
1. 互質數: 兩個數的最大公約數是1的時候稱為互質數
2. 相鄰的兩個自然數是互質數。如 15與 16。
3. 相鄰的兩個奇數是互質數。如 49與 51。
這時候分類討論一下小於三和奇數, 偶數的情況就好了.
奇數直接取n, n-1, n-2, 偶數就再多判斷一下能不能被3餘的情況
#include
intmain()
printf
("%lld\n"
,answer);}
}
//這道題是本輪選拔賽的一道難題, 需要用到數論中的容斥定理, 但比賽中臨時決定降低難度, 所以直接按照題意迴圈模擬求公約數即可做出, 下面介紹以下容斥定理
容斥原理、先對n分解質因數,分別記錄每個質因數,那麼所求區間內與某個質因數不互質的個數就是n/r(i),假設r(i)是r的某個質因子 假設只有三個質因子,總的不互質的個數應該為p1+p2+p3-p1p2-p1p3-p2p3+p1p2p3, 及容斥原理,pi代表n/r(i),即與某個質因子不互質的數的個數,當有更多個質因子的時候,可以用狀態壓縮解決,二進位制位上是1表示這個質因子被取進去了。如果有奇數個1就相加,反之則相減。
就是要排除重複的情況,比如求與2,3都不互質的個數時,有可能23的倍數算了兩遍,所以要減掉一種情況,那就是以n/23表示與23不互質的數
#include
#include
#include
using
namespace std;
typedef
long
long ll;
ll n;
vector pme;
ll count_prime
(ll x,ll n)
if(n>
1)pme.
push_back
(n);
ll sum=
0,value,cnt;
for(i=
1;i<
size()
);i++)}
if(cnt&1)
sum+
=x/value;
else sum-
=x/value;
}return x-sum;
}int
main()
return0;
}
第二次總結
距離上一次寫總結,過去了兩周,由於第四次任務不多,寫一篇部落格字數會很少,所以兩次任務一起寫一篇部落格。第四次任務 第四次的任務是做測試,並寫出測試文件。通過測試,把每個頁面都仔細的看了一遍,清楚了每個頁面要幹什麼,對這個專案想要實現什麼有了進一步的了解。對於我沒有及時把測試檔案發到群裡還反省了一番...
第二次總結
一 學習方面 二 生活方面 本週完成了歷史校外實踐活動,通過發放調查問卷調查了不同年齡段的人群對於歷史的興趣。三 感悟 在進行歷史校外實踐的時候,我們要發放調查問卷,很多人都配合我們的調查,並認真填寫,但也有人置之不理,做了一件事之後才知道這件事有多難做,所以以後在路上碰到需要幫忙調查問卷的人亦或是...
第二次總結
語句 c語言中由乙個分號隔開的就是一條語句。分支語句 選擇結構 1.if 語句 語法結構 if 表示式1 語句1 else if 表示式2 語句2 else 語句3 注 如果表示式的結果為真,則語句執行。0表示假,非0表示真 else永遠和最近的if語句相結合 2.switch 語法結構 switc...