A¢.
¶ C P
A¢.¶ C P
ã 2007-03-30
× : .ïÝ.êæ(
E&9P.ï ã¶PÎlsÝׯ .ï??3«E½×Í
ÝPÞê` uà#¸à×Ýü ©\T2ð×°` ~ÞÕ PX
îÝnÀÎ|Õ¼ ¬uÎ;àPD¼×Õ^µïT ǑÝ℄
PÆ J??µÎ£×/¯ «{\XǑÝM»P°£Q2|PDÝ
℄P¨¼ Ëï Àb×ða- P°#=3×R .ïÀÎ3N×gP
ÆG½T Q52 TÀÎ3¶ì Enter "¡ ÓÜ #ì
¼X«EݵÎPMP¼Ýt©M» (debugging) ¿\2åy½ÇKÚi
« ××ݤ Ǒ¼ð°0ý0ÝPD Ǒ|;¶P &P3
¥±_Ë¡Æ ÑÝnµºî3ÇKî
Þ : FÙ'ÈÝßF
E×ÍǑ.?P'Ý.ï FÙîÝȵÎYê ÿû Yê 9Ë
.ê℄PµÎTDÄ\2YêÆbÝP ÿûßÝP Yê±ÝPÞ
ê |¾Õºã¶PÝæ 9øÝ.êÄA!©Ýñ× .ï6
3\2W5 )Q6¹½â~ºWÝ*F t¡bW Q52
jî9ó.ïÝ*T??3.lÝÏ×g¡µǑ´ P'
&Ý´?ï hǑΪ .êP ~Þ"DÍæ. |DÆÕFÙÝ
È 4QæJÎÑÝ ¬¬^bèº×Ç Ýb[.ê℄° GÎO
.ïDÄ\2Yê¼ǑP'ÝB P'Ý℄°J6ã.ï
xçÿ AhÊTÝ.ßQµºZ 9Ë^b×Ç Ý.ê℄
P¼Sr.ï áP'Ýt& QÎ"U ÑÎ|ìXXÝ
ë : ℄ºì
3ÑP+Û.ê℄°G ´6ÝËÍP'Ý Íà° E.ï
P'Ýxi"Î3áA¢ÞTà®Þ»|PÝ℄ºìP
×Í.ï.ºÝA¢3Pþà℄ºìP JµáÆ2» P'
Ý ÍÎ.ÕÝP+°©Î9¡FTz ;ðpÅ
³.ó. 1
A¢.¶ C P
×¼1 PÝ℄ºÇ½ ¥Æ 9óÝP;ðºà℄º¼¥
ÆØ°P 9Îé\t<ÝI yìPJÎ ÆÝ5ü
îPÞã×ÀPóCÍׯ I ÝP'KÎã9ËË ÍP
à°|!Ý℄Pà)W
℄º3 C P+b 3 Ë 5½ for while do {...} while |¸à
¼1 Ï×Ë ªÝÜW GËËl8 »A u A B C D
×°B Í B ì¾\P J
for ( A ; B ; D ) {
C ;
}
8 y
A ;
while ( B ) {
C ;
D ;
}
9ËË℄º. Ý B ì¾\B ¸ÿPà#®Ò℄º CW D
×gKÎÆÕ ¬9˨鬺sß3t¡×Ë do { ...} while ℄º
î »A
do {
A ;
} while ( B ) ;
ãyì¾\P B 3 A P¡ .h A KºÆ×g®Ò℄º h
² uP63℄ºÝBè\®Ò℄º J|¸à break B
y C ÝìPxÎã if ÍßÝ if ... else ... àW »A
if ( A ) B ; if ( A ) if ( A1 )
B1 ; B1 ;
else else if ( A2 )
B2 ; B2 ;
else
B3 ;
Í$b´KàÝ switch ()?():() ºÕP ¡ïÝà°öÝ if ... else
... 8 »A
if ( A )
B1 ; ( A ) ? ( B1 ) : ( B2 ) ;
else
B2 ;
2 ³.ó.
A¢.¶ C P
B2 t? ×B ()?():() tð'TP×R¸à »A|ìÎ
B1
à¼' i Ýó u i y 0 J' 0 ÍJ; 10 :
i = ( i < 0 ? 0 : 10 ) ;
uà if ℄P¼¶ J¶W
if ( i < 0 )
i = 0 ;
else
i = 10 ;
|îXàÝ C +°KÎt ÍÝ/ 93XbÝ'hÍKbÞÝ1
° : xPP'
XÛÝxPP'ÇÎ×Ë|tÝPlP ×M×MÝÞPDx
¼ 39ËxPP t&| ÍJ¬à℄ºìP Ü»¼1
|ìÝPÎà¼Õ 1 Õ 10 Ýóõ
int sum = 0 ;
sum = sum + 1 ; sum = sum + 3 ; sum = sum + 5 ;
sum = sum + 7 ; sum = sum + 9 ;
printf( "%d\n" , sum ) ;
u 1 Õ 9 ÝóC v3N 3 óC¡®× J¶W
printf( "%d " , 1 ) ; printf( "%d " , 2 ) ; printf( "%d " , 3 ) ;
printf( "\n" ) ;
printf( "%d " , 4 ) ; printf( "%d " , 5 ) ; printf( "%d " , 6 ) ;
printf( "\n" ) ;
printf( "%d " , 7 ) ; printf( "%d " , 8 ) ; printf( "%d " , 9 ) ;
printf( "\n" ) ;
×2
printf( "*" ) ; printf( "\n" ) ;
printf( "*" ) ; printf( "*" ) ; printf( "\n" ) ;
printf( "*" ) ; printf( "*" ) ; printf( "*" ) ; printf( "\n" ) ;
.ït?3Õüîã¶xPP Äý~ZCE vZC H^ |
¹SRý: 3ã¶xPP` ©íÝ£℄|5ï |õ`Ñí£
℄ ÝE |¹ǑPÝÓ !`A3ã¶Ä uÆB|:
PB Ý!P J¸à ... ¢|;6`
9øÝP ^bߺ ©b\T NÍßK|ÞPD¶¼ ¬9
P' P'60PDÝ!JP Ǒð°ÞÍà℄ºÝ℄P;¶
¸ÿP´
³.ó. 3
A¢.¶ C P
" : ãxPPs
xPÝP4Q Qr-Ä 9øÝPP°Ì P' ¬x
PPÅÎ .ïèºÝ×ÍP'% .ïqAhP'% 5B
Ý8nP Þ×°£℄|Ê Ýóã 0óÝ;℄P |ì躿ͻ
Ǒ|1
Üܶ°
9 ÎNÍ.ïKº¶ÕÝP ÎBð®ÝPÞê &ÆÞ|xP℄
° ÞhPD¶¼
xPÜܶ°
//Ï× : 1x1=1 1x2=2 1x3=3 ... 9x1=9
printf( "%2d x %2d = %2d " , 1 , 1 , 1 ) ;
printf( "%2d x %2d = %2d " , 2 , 1 , 2 ) ;
...
printf( "%2d x %2d = %2d " , 9 , 1 , 9 ) ;
printf( "\n" ) ;
//ÏÞ : 1x2=2 2x2=4 3x2=6 ... 9x2=18
printf( "%2d x %2d = %2d " , 1 , 2 , 2 ) ;
printf( "%2d x %2d = %2d " , 2 , 2 , 4 ) ;
...
printf( "%2d x %2d = %2d " , 9 , 2 , 18 ) ;
printf( "\n" ) ;
...
//ÏÜ : 1x9=9 2x9=18 3x9=27 ... 9x9=81
printf( "%2d x %2d = %2d " , 1 , 9 , 9 ) ;
printf( "%2d x %2d = %2d " , 2 , 9 , 18 ) ;
...
printf( "%2d x %2d = %2d " , 9 , 9 , 81 ) ;
printf( "\n" ) ;
|îÝPãyíbÜÍðC- .híÜ (row) 3N× 5½b
ÜÍÕP bÝh ÍxPD¡ #ì¼6Þ»W´ × C PÝP
D
5xP
35xPPD ´ÝÎ'Ê Ýó¼ óÝÍó÷K÷
? |h » 3NÍ printf /ÝJó«{b!JP vKÎã 1 Õ 9 µg;
.hàL×ÍJóó i ¼õ ÍÂKÎ3N×Íí (row) ã 1 Õ 9
4 ³.ó.
A¢.¶ C P
℄PL
h²3íPrGÝJó Îã 1 ;Õ 9 ÄÎ|N×Ǒ 1 Ý℄
P; |à×ÍJóó j ã j Î|Ý℄Pã 1 Õ 9 L 3NÍ j
i ºã 1 LÕ 9 !`r¡ÝóCµ©Î i j ݶ .huãó i Ý
¶W℄º íÝP¶W
for ( i = 1 ; i <= 9 ; ++i ) {
printf( "%2d x %2d = %2d " , j , i , i*j ) ;
}
printf( "\n" ) ;
ãyó j LÝ>´ i X .h j Ý℄º6Y3 i ℄ºÝ²· v 1 L
Õ 9 X|¶W
for ( j = 1 ; j <= 9 ; ++j ) {
for ( i = 1 ; i <= 9 ; ++i ) {
printf( "%2d x %2d = %2d " , j , i , i*j ) ;
}
printf( "\n" ) ;
}
AhµWÝÜܶ°xÝPD yìÝ ®µ©ÎÞ×°±#ÝB
»A Ǒáýj Ló
#inclue <stdio>
int main() {
int i , j ;
for ( j = 1 ; j <= 9 ; ++j ) {
for ( i = 1 ; i <= 9 ; ++i ) {
printf( "%2d x %2d = %2d " , j , i , i*j ) ;
}
printf( "\n" ) ;
}
return 0 ;
²ó®Þ
lãØÑJóÎÍ ²óÎ.ïBðºÂÕÝ®Þ |ó.ÝÌF¼1 XÛÝ
²óμy 1 ÝÑJó vhóG 1 ÍJt AhulãØÍJó n
ÎÍ ²ó u¸àü tÝ℄PµÎ¯ n ãJó 2 8t ut¼ J
Jó 3 8t ut¼ J × Ah¹ì àÕ n-1 38tÝ
M» uËó|Jt J n µÎ²ó ĵtì AXbÝóK
³.ó. 5
A¢.¶ C P
Jt J n µÎ²ó |ì&ƽ¿àxP℄°¼ã¶P
xP²ólã
qA²óÝL ÞP¶W|ìÝP
int n ;
scanf( "%d" , &n ) ;
{ printf( "%dβó \n" , n ) ; return 0 ; }
βó \n" , n ) ; return 0 ; }
if ( n == 2 )
{ printf( "%d
βó \n" , n ) ; return 0 ; }
if ( n % 2 == 0 )
if ( n % 3 == 0 ) { printf( "%d
{ printf( "%d βó \n" , n ) ; return 0 ; }
...
if ( n % (n-1) == 0 )
printf( "%d βó \n" , n ) ; return 0 ; }
|îÝ return 0 ½PÞ®ÒxP main Æ
5xP
3|îÝP tÝÏ×Í if fP² ͸ÝfPÝtób!JP Çã 2
××LÕ n-1 X|Q|¸à×Íó¼ uLÍ i JÏÞ
ÍfPÝfPµ;;Hw3×Í℄º/ P|;¶W
for ( int i = 2 ; i <= n-1 ; ++i ) {
if ( n % i == 0 ) {
printf( "%d βó
\n" , n ) ;
return 0 ;
}
}
Ǒî ÝB JÍPµW
#include <stdio.h>
int main() {
int n ;
scanf( "%d" ,&n) ;
if ( n == 2 ) { printf( "%d βó \n" ,n ) ; return 0 ; }
for ( int i = 2 ; i <= n-1 ; ++i ) {
if ( n % i == 0 ) {
printf( "%d βó \n" , n ) ;
return 0 ;
}
}
printf( "%d βó \n" , n ) ;
6 ³.ó.
A¢.¶ C P
return 0 ;
}
|îÝPD3Æî4QÎÑÝ ¬Q^b[£ »A 3ó.î ¾\ nÎ
Í ²ó ¬6ã 2 µgtÕ n-1 ¯î GtÕyy n ÝJó
√
Ç h²tÝóC 2 |² ¬6×Ýt|͸Ýó Q9°Þ;3hÞ
|E¯
óC%
9ÍP»Î¶×ÍP|ìÝóC% óCÎã 1 ãîì ã¼
Ý℄PL vóCÎWìë (lower triangle) øP ÍPÝæp Î3
óCǑ℄P3P+ ã¼ ãîìÝ℄Pâ?8D
ó : 4 ó : 5
1 1
2 5 2 6
3 6 8 3 7 10
4 7 9 10 4 8 11 12
5 9 12 14 15
xPP
'P6Ýó n ãíáX qA|îÝ% |ÞxPPD
_¶W|ì℄P
scanf( "%d" , &n ) ; // Àó
// Ï
1
printf( "%d " , 1 ) ;
printf( "\n" ) ;
// Ï
2
printf( "%d " , 2 ) ;
printf( "%d " , n+1 ) ;
printf( "\n" ) ;
...
// Ï
n
printf( "%d " , n ) ;
printf( "%d " , (n+1)+(n-2) ) ;
...
³.ó. 7
A¢.¶ C P
printf( "%d " , (n+1)+(n-1)+(n-3) + ... + 1 ) ;
printf( "\n" ) ;
|îËÑíÝóC6~Þ2àó.℄P.0 .h3h¶Kó¿ÍóC|
5xP
Ý |îN×í (row) Ýó|¸à×Íó r ¼ r Îã 1 L
Õ n N×íî íÝóCÀó8! µÎÏ× ×óC Ï
ÞËóC . . . Ï r r óC 3N× r ÍóC 3
P'î µ¸à℄º¼ § J§|îÝ1 Pµ;¶W
scanf( "%d" , &n ) ;
for ( r = 1 ; r <= n ; ++r ) {
for ( c = 1 ; c <= r ; ++c ) {
íÝó
6¨²0óÂ
f = ... ; // f
//
printf( "%d " , f ) ;
}
printf( "\n" ) ;
}
|îÝó f º. r c Ý!bX-² uàó.Ý℄Pî J¶W f =
f(r,c) 3Ï r Ï c íÝóC óCÝ© r c bn v r Õ
Gyy c #켩àó.Ý℄°0 f(r,c) ó ¶WPD AhP
µWÝ
ãyóCÎãîì ã¼ u0N× (column) ÝÏ×ÍóC J
!×Ý͸óCµ"2Õ¼ µÎ
f(r, c) = f(c, c) + (r − c)
2 óC f(c,c) 8 yÏ c-1 GXbóCÝÀóǑî 1 ãyÏ×
b n ÍóC ÏÞb n-1 ÍóC Ïëb n-2 ÍóC .hÏ c-1 b
X
n + (n − 1) + . . . + (n − (c − 2)) ÍóC ¶Wó.ÿPJ k .h
n
k=n−(c−2)
X
n
f(c, c) = k + 1
k=n−(c−2)
X
n X
n−(c−2)−1
= k − k + 1
k=1 k=1
n(n + 1) (n − c + 1)(n − c + 2)
= − + 1
2 2
8 ³.ó.
A¢.¶ C P
GËÍó.P)3×R
n(n + 1) (n − c + 1)(n − c + 2)
f(r, c) = − + (r − c) + 1
2 2
Þ|î0 f(r, c) Ý2PǑáPD JPÝí}P t¡ÝPDµ
|¶W|ìøP
#include <stdio.h>
int main() {
int r , c , n , f ;
printf( "> " ) ;
scanf( "%d" , &n ) ;
printf( "\n\n" ) ;
for ( r = 1 ; r <= n ; ++r ) {
for ( c = 1 ; c <= r ; ++c ) {
f = n*(n+1)/2 - (n-c+1)*(n-c+2)/2 + (r-c) + 1 ;
printf( "%5d " , f ) ;
}
printf( "\n" ) ;
}
return 0 ;
}
ã|îPÝ.0℄P|ÿá EذP®Þ P'õÍÝó.æb`
º68 Ý
£Õ e ó
x
35 e ó|¸à94P¼£Õ Í2Pu|"℄°îJ
x
x2 x3 xn
ex ≈ 1 + x + + + ··· +
2! 3! n!
Q n ÷ Õµ÷¿ËÑÝó 9 &ƶÍP¼£Õ e ó x
xPP
|î2PâÝ&9gǑ° 3xP&ÆÞÍ5W×4×4ÝǑ° ãyN
4Ý55ÒKb8nP .hÞÍ5½Õ AhxPPDµ¶W
scanf( "%d" , &x ) ;
num = 1. ; // &4Ý5
³.ó. 9
A¢.¶ C P
den = 1. ; // &4Ý5Ò
exp = 1. ; // Ï×4
num = num * x ;
GÞ4õ
den = den * 1 ;
exp = exp + num / den ; //
num = num * x ;
Gë4õ
den = den * 2 ;
exp = exp + num / den ; //
...
num = num * x ;
G 4õ
den = den * n ;
exp = exp + num / den ; // n+1
GëÞÝPD! 9 ÝxPD6¸àõ`Ýó¼;D Ý
ÕÂ u&Ah JxPÞ? Ó
5xP
ã|îÝPDá ÏÞ4R XbÕÝM»K8 v« Ͱ×Ý-½
ÎÕ5ÒÝI ÍóCÎã 1 LÕ n .h|ÞͶá×ÍÝ℄º
for ( int i = 1 ; i <= n ; ++i ) {
num = num * x ;
den = den * i ;
exp = exp + num / den ;
}
ǑîG¡ÝP JÍPµ¶W
#include <stdio.h>
int main() {
int n = 10 ;
double x , den , num , exp ;
scanf( "%f" , &x ) ;
den = num = exp = 1. ;
for ( int i = 1 ; i <= n ; ++i ) {
num = num * x ;
den = den * i ;
exp = exp + num / den ;
10 ³.ó.
A¢.¶ C P
printf( "exp( %f ) = %f\n" , x , exp ) ;
return 0 ;
}
3P &Æà#' n Jó 10 .ï6¥×F AÞPXbÝ
óKLWJól½ JÕÝÞËÑÝó®ß8 Ý-² xæ.3
y!l½ ݺÕÎ8!l½ .h 3 t| 4 ݵ 0 ¬& 0.75
uÍÕîÝ0-)3×RµW 0- .hDE£℄l½ÝÕ-
²
£Õ π
π |¸àùó℄P¼£Õ tÝ℄Pθà arctan(x) Ý"P
x3 x5 x2n+1
arctan(x) ≈ x − + + · · · + (−1)n
3 5 2n + 1
ãy arctan(1) = .h π = 4 arctan(1) Q n ÷ Õµ÷¿ËÑÝ
π
ó 4Qh2PÝ¿>X Ä9¬Î9 Ý¥F 9 &ƶÍP
4
¼£Õ π ÝÂ
xPP
ÌD arctan(x) Ý"P |.á arctan(x) ÝÕ℄P ÍîµÎ×4×4
ÝÆø®Ǒ3Ý® ûïG» ÞÍM»¶W|ìÝPD
x = 1 ;
atan = 0 ;
// i = 1
num = x ;
den = 1 ;
atan = atan + num/den ;
// i = 2
num = num * x * x ; // num = x^3
den = 3 ;
atan = atan - num/den ;
// i = 3
num = num * x * x ; // num = x^5
den = 5 ;
atan = atan + num/den ;
³.ó. 11
A¢.¶ C P
...
// i = n
num = num * x * x ; // num = x^(2n-1)
A ó
den = 2*n-1 ;
A ó
atan = atan - num/den // i
atan = atan + num/den // i
t¡ËÍP6qA i ÝóCׯ
5xP
5|î¥ÝP tÝÝ5I ¾!² ͸Kb8«P .h¶W
PJ
for ( i = 1 ; i <= n ; ++i ) {
if ( i == 1 )
num = x ;
else
num = num * x * x ;
den = 2*i-1 ;
if ( i % 2 == 1 )
atan = atan + num/den ;
else
atan = atan - num/den ;
|îËÍ if ÝfP5½;
num = ( i == 1 ? x : num * x * x ) ;
atan = atan + ( i % 2 == 1 ? num/den : -num/den ) ;
ãy i % 2 == 1 i % 2 3ìP/Ý®à8 !` atan = atan + ...
; atan += ... .hîP ×M;
atan += ( i % 2 ? num/den : -num/den ) ;
ǑîG¡Ä6ÝP JÍPµ¶W
#include <stdio.h>
int main() {
double pi , atan , num , den , x ;
x = 1 ;
12 ³.ó.
A¢.¶ C P
atan = 0 ;
for ( int i = 1 ; i <= 1000000 ; ++i )
num = ( i == 1 ? x : num * x * x ) ;
den = 2*i-1 ;
atan += ( i % 2 ? num/den : -num/den ) ;
pi = 4 * atan ;
printf( "PI = %f\n" , pi ) ;
return 0 ;
9ÍùóÎ| XÝ℄P[eÕ π 3ó.5îb͸ùó||´"Ý>
[eÝ π b·¶Ý\ï|îç0´8n£℄
0 : +
.ï.êxPP'xÝêÝÇÎ%¯3\/ÝǑ° ´DÄ
ÑøÝPDÓ¨¼ #ì¼5PD 'Ê Ýó 0PDÝ
!JP ¿à℄ºìP¼ |¾Õ;PÝêÝ
xPP'ݸàE xÎjE.P'Ýßÿ .ï3¿àx
PG Ä6ÞP+×°t ÝìP℄ºÝà°z½ ÍJ)Q
ºÄÿ .ï|3Pã2ºà℄ºìP¡ µ|wìx
PP' s"Ê)ͤêYÝP'*» ÑPáb¶ÝP'
t&
³.ó. 13