
编程基础知识
chao_acmer
这个作者很懒,什么都没留下…
展开
-
最左边的数
求n^n最左边的数分析:设n^n= d.xxx* 10^ (k-1) ,其中k表示n^n的位数。那么d.xxx= 10^(log10(n^n)-(k-1)) ,再对d.xxx取整即可获得最终结果。那么k是多少呢?k = log10(n^n)的整数部分+1 = (int)log10(n^n)+1;至此,可以获得d的计算公式为d = (int)(10^(log10(n^n)-(in原创 2015-08-26 11:46:43 · 364 阅读 · 0 评论 -
memset()函数与sort()函数
数组的初始化及数据的排序#include #include#include#includeusing namespace std;int main(){ int n; while(cin>>n) { int data[n]; memset(data,0,sizeof(data));//memset(数原创 2015-08-26 10:18:08 · 262 阅读 · 0 评论 -
N!的长度
一个数n的位数为(int)log10(n)+1,所以n!的位数为(int)log10(n!)+1,又因为n!=1*2*3*……*n,故log10(n!)=log10(1)+log10(2)+……+log10(n);#include#includeusing namespace std;int main(){ int n; double s原创 2015-08-26 10:26:18 · 343 阅读 · 0 评论 -
n!的长度(stirling公式的应用)
由stirling公式可得log10(n!)=(log10(2*pi*n))/2+n*log10(n/e),故n!的位数为(int)(log10(2*pi*n))/2+n*log10(n/e)+1pi=3.141592653589793239,e=2.7182818284590452354#include#includeusing namespace std;const doubl原创 2015-08-26 10:46:06 · 337 阅读 · 0 评论