.
ê C++
A¢.¶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¢.¶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
.ê C++
B1 B2 t? ×B ()?():() tðíP×R¸à »A|ìÎà¼í
i ÝóÂ ¬u i y 60 Jí 60
cout << ( i < 60 ? 60 : i ) << endl ;
|î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 ;
cout << sum << endl ;
u 1 Õ 9 ÝóC v3N 3 óC¡®× J¶W
cout << 1 << " " ; cout << 2 << " " ; cout << 3 << " " ;
cout << endl ;
cout << 4 << " " ; cout << 5 << " " ; cout << 6 << " " ;
cout << endl ;
cout << 7 << " " ; cout << 8 << " " ; cout << 9 << " " ;
cout << endl ;
×2
cout << "*" << endl ;
cout << "*" << "*" << "*" << endl ;
cout << "*" << "*" << "*" << "*" << "*" << endl ;
.ï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´
" : ãxPPs
xPÝP4Q Qr-Ä 9øÝPP°Ì P' ¬x
PPÅÎ .ïèºÝ×ÍP'% .ïqAhP'% 5B
3
A¢.¶P
Ý8nP Þ×°£℄|Ê Ýóã 0óÝ;℄P |ì躿ͻ
Ǒ|1
Üܶ°
9 ÎNÍ.ïKº¶ÕÝP ÎBð®ÝPÞê &ÆÞ|xP℄
° ÞhPD¶¼
xPÜܶ°
//Ï× : 1x1=1 1x2=2 1x3=3 ... 9x1=9
cout << 1 << "x" << 1 << "=" << 1 << " " ;
cout << 2 << "x" << 1 << "=" << 2 << " " ;
...
cout << 9 << "x" << 1 << "=" << 9 << " " ;
cout << "\n" ;
//ÏÞ : 1x2=2 2x2=4 3x2=6 ... 9x2=18
cout << 1 << "x" << 2 << "=" << 2 << " " ;
cout << 2 << "x" << 2 << "=" << 4 << " " ;
...
cout << 9 << "x" << 2 << "=" << 18 << " " ;
cout << "\n" ;
...
//ÏÜ : 1x9=9 2x9=18 3x9=27 ... 9x9=81
cout << 1 << "x" << 9 << "=" << 9 << " " ;
cout << 2 << "x" << 9 << "=" << 18 << " " ;
...
cout << 9 << "x" << 9 << "=" << 81 << " " ;
cout << "\n" ;
|îÝPãyíbÜÍðC- .híÜ (row) 3N× 5½b
ÜÍÕP bÝh ÍxPD¡ #ì¼6Þ»W´ × C PÝ ++
PD
5xP
35xPPD ´ÝÎ'Ê Ýó¼ óÝÍó÷K÷
? |h » å#3NÍ cout ¡ÝJó«{b!JP vKÎã 1 Õ 9 µg
; .hàL×ÍJóó i ¼õ ÍÂKÎ3N×Íí (row) ã 1 Õ
9 ℄PL
h²3íPrGÝJó Îã 1 ;Õ 9 ÄÎ|N×Ǒ 1 Ý℄
P; |à×ÍJóó j ã j Î|Ý℄Pã 1 Õ 9 L 3NÍ j
4
.ê C++
i ºã 1 LÕ 9 !`r¡ÝóCµ©Î i j ݶ .huãó i Ý
¶W℄º íÝP¶W
for ( i = 1 ; i <= 9 ; ++i ) {
cout << j << "x" << i << "=" << i*j << " " ;
}
cout << "\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 ) {
cout << j << "x" << i << "=" << i*j << " " ;
}
cout << "\n" ;
}
AhµWÝÜܶ°xÝPD yìÝ ®µ©ÎÞ×°±#ÝB
»A Ǒáýj Ló
#inclue <iostream>
using namespace std ;
int main() {
int i , j ;
for ( j = 1 ; j <= 9 ; ++j ) {
for ( i = 1 ; i <= 9 ; ++i ) {
cout << j << "x" << i << "=" << i*j << " " ;
}
cout << "\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
Jt J n µÎ²ó |ì&ƽ¿àxP℄°¼ã¶P
5
A¢.¶P
xP²ólã
qA²óÝL ÞP¶W|ìÝP
int n ;
cin >> n ;
βó \n" ; return 0 ; }
{ cout << n << "
βó \n" ; return 0 ; }
if ( n == 2 )
{ cout << n << "
βó \n" ; return 0 ; }
if ( n % 2 == 0 )
if ( n % 3 == 0 ) { cout << n << "
n % (n-1) == 0 ) { cout << n << " βó \n" ; return 0 ; }
...
if (
cout << n << " βó \n" ;
|îÝ 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 ) {
cout << n << " βó
\n" ;
return 0 ;
}
}
Ǒî ÝB JÍPµW
#include <iostream>
using namespace std ;
int main() {
int n ;
cin >> n ;
if ( n == 2 ) { cout << n << " βó \n" ; return 0 ; }
for ( int i = 2 ; i <= n-1 ; ++i ) {
if ( n % i == 0 ) {
cout << n << " βó \n" ;
return 0 ;
}
}
cout << n << " βó\n" ;
6
.ê C++
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
cin >> n ; // Àó
cout << 1 ; // Ï1
cout << "\n" ;
cout << 2 << " " // Ï2
cout << (n+1) << " " ;
cout << "\n" ;
...
cout << n << " " ; // Ïn
cout << (n+1)+(n-2) << " " ;
...
cout << (n+1)+(n-1)+(n-3) + ... + 1 << " " ;
cout << "\n" ;
|îËÑíÝóC6~Þ2àó.℄P.0 .h3h¶Kó¿ÍóC|
7
A¢.¶P
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
cin >> n ;
for ( r = 1 ; r <= n ; ++r ) {
for ( c = 1 ; c <= r ; ++c ) {
íÝó
6¨²0óÂ
f = ... ; // f
//
cout << f << " " ;
}
cout << "\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
GËÍó.P)3×R
n(n + 1) (n − c + 1)(n − c + 2)
f(r, c) = − + (r − c) + 1
2 2
8
.ê C++
Þ|î0 f(r, c) Ý2PǑáPD JPÝí}P t¡ÝPDµ
|¶W|ìøP
#include <iostream>
#include <iomanip>
using namespace std ;
int main() {
int r , c , n , f ;
cout << "> " ;
cin >> n ;
cout << "\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 ;
cout << setw(5) << f << " " ;
}
cout << "\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
cin >> x ;
&4Ý5
&4Ý5Ò
num = 1. ; //
den = 1. ; //
9
A¢.¶P
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 <iostream>
using namespace std ;
int main() {
int n = 10 ;
double x , den , num , exp ;
cin >> x ;
den = num = exp = 1. ;
for ( int i = 1 ; i <= n ; ++i ) {
num = num * x ;
den = den * i ;
exp = exp + num / den ;
10
.ê C++
}
cout << "exp(" << x << ") = " << exp << endl ;
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¢.¶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 <iostream>
using namespace std ;
int main() {
double pi , atan , num , den , x ;
12
.ê C++
x = 1 ;
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 ;
cout << "PI = " << pi << endl ;
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