二进制小数0.1转成十进制小数是0.5。再乘十六取整,顺序连接,得到十六进制小数0.8。
#include<iostream>
using namespace std;
const int dayNum[]={-1,31,28,31,30,31,30,31,31,30,31,30,31};
int m, offset, i;
int main()
{
cin >> m;
cout <<"S M T W T F S"<<endl;//' '为tab制表符
①;offset=4//offset记录这个月的偏移量
for (i = 1; i < m; i++)
offset = ②;(offset+dayNum[i])%7//计算第m个月的偏移数,应加上上个月的天数并对7取余数
for (i = 0; i < offset; i++)
cout <<' ';
for (i = 1; i <= ③;i++)dayNum[m]//输出第m个月的日期
{
cout << ④;i//输出i表示的日期
if(i==dayNum[m]||⑤==0)(offset+i)%7//换行条件,当前日期加上偏移数如果是7的倍数时换行
cout << endl;
else
cout << ' ';
}
return 0;
}
二叉树的基本性质:
性质1:在二叉树的第h层上有2的h-1次方个节点(h>=1)
性质2:深度为h的二叉树有2的h次方-1个节点(h>=1)
性质3:对于一颗非空的二叉树来说, 如果叶子结点数为n0,度数为2的结点数为n2,则有n0=n2+1
性质4:当完全二叉树的节点有n个时,深度为log以2为底n的对数向下取整+1
性质5:完全二叉树的编号:
(1)完全二叉树中任何一层最左的节点编号n,则其左子树为2n,右子树为2n+1
(2)完全二叉树中任意一节点编号n,则其左子树为2n,右子树为2n+1
错排问题公式:f(n)=(n−1)×[f(n−1)+f(n−2)]