求1 n的階乘之和

2022-07-27 08:42:12 字數 812 閱讀 3210

求階乘之和,以前最開始想到的就是寫兩個迴圈,複雜的o(n^2) , 後來再寫一道題的時候,看到只走一遍的,複雜的為o(n)的

題目 :傳送門

這個是先用線性篩篩出素數,剛開再怎麼算階乘和的時候,就犯難了。這麼大的數,怎麼搞

之前的**:

long

long sum = 0

;

long

long sum = 0

;

for(int i = 1 ; i <= n ; i++)

sum +=num;

}

優化之後可以用:

long

long sum = 0

;long

long num = 1

;for(int i = 1 ;i <= 5 ; i++)

cout

《直接降低的很多

附上連線這道的**:

#includeusing

namespace

std;

#define max 100000005typedef

long

long

ll;bool

visit[max];

int prime[10000000

];int k = 0

;ll p , sum = 0

;;void

isprime()

}}int

main()

cout

}return0;

}

計算1 n 的數列之和

編寫程式,輸入乙個正整數n,求下列算式的值。要求定義和呼叫函式fact k 計算k的階乘,函式返回值的型別是double。1 1 2 1 n 輸出保留5位小數。下面是一些合理的表示式的例子 input 5 output 1.71667 package 華為機試題 author hutongling ...

求1 n中1的個數

輸入乙個整數,求1 n這n個數的十進位制表示1的個數。將n的十進位制的每一位單獨拿出討論,每一位的值記為weight。1 個位 假若n 534。534的個位從0 9變化了53次,這53我們記為round。因為weight為4 0。因此第54輪為0 4,因此1出現了count round 1。若wei...

求n個數 1 n 的質因子

求n個數 1 n 的質因子,我用到了素數篩選法的思想,例如找到素數2,2是2,4,6,8,10 的質因子,3是3,6,9,12 的質因子,然後找到素數5,若是求乙個數n的質因子,請參考 include includeint a 10001 20 b 10001 b i 表示第i個數的質因子個數,a ...