64,639
社区成员
发帖
与我相关
我的任务
分享
int group_tab[10][4]=
{
//组0~3,2~5,4~7,6~9 ,//数字
{ 1, 0, 0, 0},//0
{ 1, 0, 0, 0},//1
{ 1, 1, 0, 0},//2
{ 1, 1, 0, 0},//3
{ 0, 1, 1, 0},//4
{ 0, 1, 1, 0},//5
{ 0, 0, 1, 1},//6
{ 0, 0, 1, 1},//7
{ 0, 0, 0, 1},//8
{ 0, 0, 0, 1},//9
};
int inrange(int n,int group)
{
return group_tab[n][group]) //
}
// 组掩码:
0~3 mask =1,2~5,mask =2,4~7,mask =8,6~9,mask =16
int mask_range[4] ={1,2,4,8,16};
// 数字掩码: 0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9
int mask_no[10]={1 ,1 ,3 ,3 ,6 ,6 ,12,12,16,16};
int inrange(int n,int group)
{
if(mask_no[n] & mask_range[group])
regurn 1 ;
return 0;
}
大约这么处理.