锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
/**/
/*
****************************************
*/
/**/
/*
聽浠巗tr涓垹闄emove涓惈鏈夌殑瀛楃聽聽聽聽聽聽聽聽聽聽
*/
/**/
/*
****************************************
*/
void
聽RemoveChar(
char
聽str[],聽
char
聽remove[])
{
聽聽聽聽
int
聽dst,src;
聽聽聽聽
char
聽removeArray[
256
];
聽聽聽聽puts(str);
聽聽聽聽puts(remove);
聽聽聽聽
for
(src
=
0
;src
<
256
;src
++
)
聽聽聽聽
{
聽聽聽聽聽聽聽removeArray[src]
=
0
;
聽聽聽聽}
聽聽聽聽src
=
0
;
聽聽聽聽
while
(remove[src])
聽聽聽聽
{
聽聽聽聽聽聽聽removeArray[remove[src
++
]]
=
1
;
聽聽聽聽}
聽聽聽聽src
=
0
;dst
=
0
;
聽聽聽聽
while
(str[src])
聽聽聽聽
{
聽聽聽聽聽聽聽聽
if
(
!
removeArray[str[src]])
聽聽聽聽聽聽聽聽
{
聽聽聽聽聽聽聽聽聽聽聽聽str[dst
++
]
=
str[src];
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽src
++
;
聽聽聽聽}
聽聽聽聽str[dst]
=
0
;
聽聽聽聽puts(str);
}
]]>
鎴戠殑鐞嗚В錛岀粰瀹?緇存暟緇?br />1 2 3涓夎褰㈠垽鏂?br />8 9 4
7 6 5
鈥滆灪鏃嬪紡鈥濋『搴忚緭鍑猴細1 2 3 4 5 6 7 8 9
銆?鍦?bluexyz (鏁版嵁緇撴瀯鏄牴鏈? 鐨勫ぇ浣滀腑鎻愬埌: 銆?/font>
聽
private
聽
static
聽
void
聽PrintNumberasSpiralOrder()
聽聽聽聽聽聽聽聽
{
聽聽聽聽聽聽聽聽聽聽聽聽
//
1聽聽2聽聽3聽聽聽4
聽聽聽聽聽聽聽聽聽聽聽聽
//
12聽13聽14聽聽5
聽聽聽聽聽聽聽聽聽聽聽聽
//
11聽16聽15聽聽6
聽聽聽聽聽聽聽聽聽聽聽聽
//
10聽9聽聽聽8聽聽7
聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽
//
1,聽聽2聽,聽3,聽聽4,聽聽5
聽聽聽聽聽聽聽聽聽聽聽聽
//
16,聽17,聽18,聽19,聽6
聽聽聽聽聽聽聽聽聽聽聽聽
//
15,聽24,聽25,聽20,聽7
聽聽聽聽聽聽聽聽聽聽聽聽
//
14,聽23,聽22,聽21,聽8
聽聽聽聽聽聽聽聽聽聽聽聽
//
13,聽12,聽11,聽10,聽9
聽聽聽聽聽聽聽聽聽聽聽聽
int
[,]聽a聽
=
聽
new
聽
int
[,]
聽聽聽聽聽聽聽聽聽聽聽聽
{聽
{聽
1
,聽
2
,聽
3
,聽
4
,聽
5
聽}
,聽
聽聽聽聽聽聽聽聽聽聽聽聽
{聽
16
,聽
17
,聽
18
,聽
19
,聽
6
聽}
,聽
聽聽聽聽聽聽聽聽聽聽聽聽
{聽
15
,聽
24
,聽
25
,聽
20
,聽
7
聽}
,
聽聽聽聽聽聽聽聽聽聽聽聽
{聽
14
,聽
23
,聽
22
,聽
21
,聽
8
聽}
,
聽聽聽聽聽聽聽聽聽聽聽聽
{聽
13
,聽
12
,聽
11
,聽
10
,聽
9
聽}
聽}
;
聽聽聽聽聽聽聽聽聽聽聽聽
//
int[,]聽a聽=聽new聽int[,]聽{聽{聽1,聽2,聽3,聽4聽},聽{聽12,聽13,聽14,聽5聽},聽{聽11,聽16,聽15,聽6聽},聽{聽10,聽9,聽8,聽7聽}聽};
聽聽聽聽聽聽聽聽聽聽聽聽
//
int[,]聽a聽=聽new聽int[,]聽{聽{聽1,聽2聽},聽{4,3}聽};
聽聽聽聽聽聽聽聽聽聽聽聽
const
聽
int
聽N聽
=
聽
5
;
聽聽聽聽聽聽聽聽聽聽聽聽
//
聽spiral
聽聽聽聽聽聽聽聽聽聽聽聽
for
聽(
int
聽i聽
=
聽N聽
-
聽
1
,聽j聽
=
聽
0
;聽i聽
>
聽
0
;聽i
--
,聽j
++
)
聽聽聽聽聽聽聽聽聽聽聽聽
{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
//
i聽浠庢渶澶х淮搴︽暟寮濮?br />
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
//
j聽浠庢渶灝忕淮搴︽暟寮濮?br />
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
//
i--鏉ョ緝灝忚寖鍥?br />
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
//
j++鏉ョ緝灝忚寖鍥?br />
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
//
k聽澧為暱緙╁皬鍥犲瓙
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for
聽(
int
聽k聽
=
聽j;聽k聽
<
聽i;聽k
++
)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.Console.Write(
"
{0}聽
"
,聽a[j,聽k]);聽Console.WriteLine(
""
);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for
聽(
int
聽k聽
=
聽j;聽k聽
<
聽i;聽k
++
)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.Console.Write(
"
{0}聽
"
,聽a[k,聽i]);聽Console.WriteLine(
""
);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for
聽(
int
聽k聽
=
聽i;聽k聽
>
聽j;聽k
--
)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.Console.Write(
"
{0}聽
"
,聽a[i,聽k]);聽Console.WriteLine(
""
);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for
聽(
int
聽k聽
=
聽i;聽k聽
>
聽j;聽k
--
)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.Console.Write(
"
{0}聽
"
,聽a[k,聽j]);聽Console.WriteLine(
""
);
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽
//
聽special聽case聽for聽middle聽element聽if聽N聽is聽odd
聽聽聽聽聽聽聽聽聽聽聽聽
//
濡傛灉鏄鏁幫紝鍒欒鏉″嵃涓棿鐨勬暟銆?/span>
聽聽聽聽聽聽聽聽聽聽聽聽
if
聽(N聽
%
聽
2
聽
==
聽
1
)聽System.Console.Write(a[(N聽
-
聽
1
)聽
/
聽
2
,聽(N聽
-
聽
1
)聽
/
聽
2
]);
聽聽聽聽聽聽聽聽}
#include聽聽聽
<
stdio.h
>
聽
#define
聽聽聽N聽聽聽100聽
#define
聽聽聽OPEN聽聽聽1聽
#define
聽聽聽CLOSED聽聽聽0聽
void
聽聽聽switch_door(
int
聽聽聽
*
door)聽
{聽
聽聽聽聽聽聽聽聽
if
(
*
door聽聽聽
==
聽聽聽OPEN)聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
*
door聽聽聽
=
聽聽聽CLOSED;聽
聽聽聽聽聽聽聽聽
else
聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
*
door聽聽聽
=
聽聽聽OPEN;聽
}
聽
int
聽聽聽main(
void
)聽
{聽
聽聽聽聽聽聽聽聽
int
聽聽聽door[N聽聽聽
+
聽聽聽
1
];聽聽聽
//
聽聽聽waste聽聽聽a聽聽聽door聽
聽聽聽聽聽聽聽聽
int
聽聽聽person;聽
聽聽聽聽聽聽聽聽
int
聽聽聽i;聽
聽聽聽聽聽聽聽聽
for
(i聽聽聽
=
聽聽聽
1
;聽聽聽i聽聽聽
<=
聽聽聽N;聽聽聽i
++
)聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽door[i]聽聽聽
=
聽聽聽OPEN;聽聽聽
//
聽聽聽all聽聽聽doors聽聽聽are聽聽聽open聽聽聽at聽聽聽first聽
聽聽聽聽聽聽聽聽
for
(i聽聽聽
=
聽聽聽
1
;聽聽聽i聽聽聽
<=
聽聽聽N;聽聽聽i
++
)聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for
(person聽聽聽
=
聽聽聽
1
;聽聽聽person聽聽聽
<=
聽聽聽N;聽聽聽person
++
)聽聽聽
//
聽聽聽person聽聽聽pass聽聽聽through聽聽聽the聽聽聽door聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if
(i聽聽聽
%
聽聽聽person聽聽聽
==
聽聽聽
0
)聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽switch_door(
&
door[i]);聽
聽聽聽聽聽聽聽聽
for
(i聽聽聽
=
聽聽聽
1
;聽聽聽i聽聽聽
<=
聽聽聽N;聽聽聽i
++
)聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽printf(聽
"
door聽聽聽%d:聽聽聽%s\n聽
"
,聽聽聽i,聽聽聽door[i]聽聽聽
?
聽聽聽
"
Open聽
"
聽聽聽:聽聽聽
"
Closed聽
"
);聽
聽聽聽聽聽聽聽聽
return
聽聽聽
0
;聽
}
聽
緇欎竴涓棰樼殑鎬濇兂錛?
甯栦笂浠g爜錛毬?br />
#include聽聽聽
<
iostream
>
聽
#include聽聽聽
<
cmath
>
聽
using
聽聽聽
namespace
聽聽聽std;聽
int
聽聽聽main()聽
{聽
聽聽聽聽聽聽聽聽
int
聽聽聽k;聽
聽聽聽聽聽聽聽聽
for
(
int
聽聽聽i聽聽聽
=
聽聽聽
1
;聽聽聽i聽聽聽
<=
100
;聽聽聽i
++
)聽
聽聽聽聽聽聽聽聽
{聽
聽聽聽聽聽聽聽聽cout聽聽聽
<
聽
<
聽聽聽
"
Door聽聽聽
"
聽聽聽
<
聽
<
聽聽聽i聽聽聽;聽
聽聽聽聽聽聽聽聽k聽聽聽
=
聽聽聽
int
(sqrt(i));聽
聽聽聽聽聽聽聽聽
if
(k
*
k聽聽聽
==
聽聽聽i)聽
聽聽聽聽聽聽聽聽cout聽聽聽
<
聽
<
聽聽聽
"
:聽聽聽Closed聽
"
;聽
聽聽聽聽聽聽聽聽
else
聽
聽聽聽聽聽聽聽聽cout聽聽聽
<
聽
<
聽聽聽
"
:聽聽聽Open聽
"
;聽
聽聽聽聽聽聽聽聽cout聽聽聽
<
聽
<
聽聽聽endl;聽
聽聽聽聽聽聽聽聽}
聽
return
聽聽聽
0
;聽
}
聽
褰撶劧錛岃繖鏄埄鐢ㄤ簡浜烘暟涓庨棬鏁版槸鐩哥瓑鐨勬儏鍐點傚鏋滀釜鏁頒笉鍚岀殑璇濓紝榪樻槸鎸夌収涓妤肩殑鏉ャ?/span>
int
聽func(x)
{
聽聽聽聽
int
聽countx聽
=
聽
0
;
聽聽聽聽
while
(x)
聽聽聽聽
{
聽聽聽聽聽聽聽聽countx
++
;
聽聽聽聽聽聽聽聽x聽
=
聽x
&
(x
-
1
);
聽聽聽聽}
聽聽聽聽
return
聽countx;
}
聽
鍋囧畾x聽
=
聽
9999
10011100001111
絳旀:聽
8
灝唜杞寲涓?榪涘埗錛岀湅鍚湁鐨?鐨勪釜鏁?br />
x
=
x
&
(x
-
1
)聽榪欑綆楁硶鏄妸涓涓簩榪涘埗鏁版渶鍙寵竟鐨勪竴涓?鍙樻垚0
鐒跺悗鍛紵
x
-
1涓巟鍖哄埆鍦ㄤ簬鏈鍚庝簩榪涘埗鐨?
姣忔墽琛屼竴嬈聽
=
聽x
&
(x
-
1
)錛屼細灝唜鐢ㄤ簩榪涘埗琛ㄧず鏃舵渶鍙寵竟鐨勪竴涓?鍙樹負0錛屽洜涓簒
-
1灝嗕細灝嗚浣?x鐢ㄤ簩榪涘埗琛ㄧず鏃舵渶鍙寵竟鐨勪竴涓?)鍙樹負0銆?br />
濡傛灉鏄簩榪涘埗100,
-
1
錛屽垯涓?11
濡傛灉鏄簩榪涘埗101錛?/span>
-
1鍒欎負100
涓庡師鏁頒竴涓庯紝灝?鍚庨潰鐨勬暟錛屽寘鎷?鍏ㄩ兘涓庢帀
鏄庣櫧錛岃阿璋簡聽
涓嶅姘?/span>
鎬濊礬: 灝唜杞寲涓?榪涘埗錛岀湅鍚湁鐨?鐨勪釜鏁般?br />娉? 姣忔墽琛屼竴嬈 = x&(x-1)錛屼細灝唜鐢ㄤ簩榪涘埗琛ㄧず鏃舵渶鍙寵竟鐨勪竴涓?鍙樹負0錛屽洜涓簒-1灝嗕細灝嗚浣?x鐢ㄤ簩榪涘埗琛ㄧず鏃舵渶鍙寵竟鐨勪竴涓?)鍙樹負0銆?1) 濡傛灉涓涓暟鏄?鐨刵嬈℃柟錛岄偅涔堣繖涓暟鐢ㄤ簩榪涘埗琛ㄧず鏃跺叾鏈楂樹綅涓?錛屽叾浣欎綅涓?銆?br />鍒ゆ柇涓涓暟(x)鏄惁鏄?鐨刵嬈℃柟
#include聽
<
stdio.h
>
int
聽func(x)
{
聽聽聽聽
if
(聽(x
&
(x
-
1
))聽
==
聽
0
聽)
聽聽聽聽聽聽聽聽
return
聽
1
;
聽聽聽聽
else
聽聽聽聽聽聽聽聽
return
聽
0
;
}
int
聽main()
{
聽聽聽聽
int
聽x聽
=
聽
8
;
聽聽聽聽printf(
"
%d\n
"
,聽func(x));
聽}
聽
void
聽test10_2(
void
)
聽聽
{
聽聽聽
static
聽
char
聽
const
*
聽szHexDigits聽
=
聽
"
01
"
;
聽聽聽unsigned聽
char
聽b聽
=
聽
16
;
聽聽聽cout聽
<<
聽szHexDigits[(b聽
>>
聽
7
)聽
&
聽
0x01
]聽
<<
聽szHexDigits[(b聽
>>
聽
6
)聽
&
聽
0x01
]聽
<<
聽
'
聽
'
;
聽聽聽cout聽
<<
聽szHexDigits[(b聽
>>
聽
5
)聽
&
聽
0x01
]聽
<<
聽szHexDigits[(b聽
>>
聽
4
)聽
&
聽
0x01
]聽
<<
聽
'
聽
'
;
聽聽聽cout聽
<<
聽szHexDigits[(b聽
>>
聽
3
)聽
&
聽
0x01
]聽
<<
聽szHexDigits[(b聽
>>
聽
2
)聽
&
聽
0x01
]聽
<<
聽
'
聽
'
;
聽聽聽cout聽
<<
聽szHexDigits[(b聽
>>
聽
1
)聽
&
聽
0x01
]聽
<<
聽szHexDigits[(b聽
>>
聽
0
)聽
&
聽
0x01
]聽
<<
聽
'
聽
'
;
聽}
聽
void
聽test10_16(
void
)
聽聽
{
聽聽聽聽
static
聽
char
聽
const
*
聽szHexDigits聽
=
聽
"
0123456789abcdef
"
;聽聽聽
聽聽聽unsigned聽
char
聽b聽
=
聽
16
;
聽聽聽cout聽
<<
聽szHexDigits[(b聽
>>
聽
4
)聽
&
聽
0x0f
]聽
<<
聽szHexDigits[b聽
&
聽
0x0f
]聽
<<
聽
'
聽
'
;
聽}