10月20號 蒟蒻的流水賬
阿新 • • 發佈:2018-11-09
08:36:24
昨天的第二題居然是題目描述自己出問題了!結果大家都只有5分(那個很奇怪的速度式子果然有問題呢)
後面應該是Cb-Ca來著。
09:26:28
寫了一題簡單數學題, (2004年 普及組的最後一題) 很巧的是這道題和今年初賽閱讀程式的最後一題是一樣的
(不想寫昨天的第三題啊,題解看起來就很煩呢)
10:28:30
在第三題掙扎了一會兒,決定放棄,去寫了試煉場 簡單數學問題 的第二題,明明是一道 普及- 的題目,愣是提交了五次才過。
11:12:19
又寫了一題,高精度調了好一會兒,因為陣列開小了,它溢位後直接跳出一堆負數(下次寫高精要注意陣列範圍
這道題只有 普及+/提高- 但我學會了原來C++ 可以直接使用 log10() (lg) 和 log() (ln)
11:38:14
這題好水碼量超小。
#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #define For(i,a,b) for(register int i=a;i<=b;++i) using namespace std; int sum=0,n; int main(){ cin>>n; For(i,1,n)sum+=n/i; cout<<sum<<endl; return 0; }
不過具體怎麼單獨求一個數字的約數個數呢?可以用質因數分解呀 哈哈。
對於一個大於1的整數都可以這樣分解
那麼一個數的約數個數
下面的簡證摘自百度百科
由約數定義可知p1^a1的約數有:p1^0, p1^1, p1^2......p1^a1 ,共(a1+1)個;同理p2^a2的約數有(a2+1) 個......pk^ak的約數有 (ak+1)個。
故根據乘法原理:n的約數的個數就是(a1+1)(a2+1)(a3+1)…(ak+1)。