ä»æ¥ã¯ãPythonããã³C / C ++ã§ã®ã¿ã¹ã¯ã®æè¡çãªåŽé¢ãšå®è£
ã«ã€ããŠèª¬æããŸãããããã¯ãGoogleã®ãšã³ãžãã¢ã«ãã£ãŠæããããŸãã æãåçŽãªåé¡ããå§ããŠããã®åŸè€éããå¢ããŸãã 䞊è¡ããŠãã€ã³ã¿ãã¥ãŒäžã«èšåãã䟡å€ããããã®ãšãtrapã«é¥ããªãå Žæã«æ³šæãæããŸãã
ãã®èšäºã«èšèŒãããŠããã¢ã«ãŽãªãºã ãŸãã¯ã³ãŒããæ¹åããæ¹æ³ãèŠã€ããå Žåã¯ãã³ã¡ã³ãã賌èªè§£é€ããŠãã ããã ç§ããã®åºçç©ããäœãæ°ããããšãåŠã³ããã§ãã
é»è©±ã«ããæè¡é¢æ¥ã¯ããèªäœãéåžžã«ç¬åµçã§ãã 幞éã«ããã®äŒç€ŸãçµéšããäŒç€Ÿã§ã¯ãéåžžã以åã®ãããžã§ã¯ããè€éããå®è£
ãã³ãŒãã®æé©åã«ã€ããŠè©±ããŸããã 次ã«ãè©Šéšãšã³ãžãã¢ãç§ã®åé¡è§£æ±ºã¹ãã«ããã¹ãããããšã«æ±ºããå Žåã圌ã¯ãæ¬äŒŒã³ãŒããèšããã¢ã«ãŽãªãºã ãšãœãªã¥ãŒã·ã§ã³ã®åæãå£é ã§èª¬æããã ãã§è§£æ±ºããã¿ã¹ã¯ãäžããŸãã Googleã§ã¯ããã¹ãŠãäžæ¡è€éã«ãªããŸãã å°ãªããšãããã¯ãã¿ã¹ã¯ãæ€èšããããã»ã¹ãšçºå£°ãœãªã¥ãŒã·ã§ã³ã«å ããŠãGoogle Docã«ã³ãŒããå
¥åããå¿
èŠããããšããäºå®ã«ãããã®ã§ããGoogleDocã§ã¯ãé»è©±åç·ã®å察åŽã«ãããšã³ãžãã¢ãåæã«èŠãŠããŸãã
Googleããã¥ã¡ã³ãã«èªåçã«è¡šç€ºãããªãã€ã³ãã³ããåžžã«ç£èŠããå¿
èŠããããããç¶æ³ã¯æªåããŸãããŸããæ§æã®åŒ·èª¿è¡šç€ºã®æ¬ åŠã¯ãç¬èªã®ã³ãŒãã®èªèã«å®éã«ã¯åœ¹ç«ã¡ãŸããã ç§ã®ã¢ããã€ã¹ã¯ãGoogle Docsã§ã³ãŒããæžãç·Žç¿ãããŠãåšãã®äººãå°æãããããã«ããªããããã§äœãããŠããã®ããããããããšãéç¥ããããšã§ãã
ã¿ã¹ã¯ãéåžžã«åçŽã§ãä»æ¥ããããæ€èšããå Žåãåçã®ã¢ã«ãŽãªãºã ã¯ããã次ã®ããã«ãªããŸãã
- ã¿ã¹ã¯æ¡ä»¶ãå€ã®ç¯å²ãå€éšæ¡ä»¶ïŒããããã®ãã¡ã€ã«ãµã€ãºãªã©ïŒã調æŽããŸãã
- ã¢ã«ãŽãªãºã ã®è€éãã®åæã䌎ããããã€ãã®ãœãªã¥ãŒã·ã§ã³ã¢ã«ãŽãªãºã ã®èª¬æïŒããããç¥ã£ãŠããŠãããäœããã®æ¹æ³ã§åé¡ã解決ã§ããå ŽåïŒ
- ã³ãŒãã®å®è£
ãšä¿å®ã§èµ·ããããåé¡ããªã¹ãããŸãã
- ãã®æ©èœãå®è£
ããã®ã«ã©ã®èšèªãé©ããŠãããã«ã€ããŠè©±ã
- ããã¹ãæäœ-Python
- ãªã³ã¯æ§é ïŒãªã³ã¯ãªã¹ãïŒãããªãŒãåºå®é·ãªããžã§ã¯ã-C / C ++
- ãšã³ãžãã¢ãã¿ã¹ã¯ã«é¢ãããã®ä»ã®è©³çŽ°ãæ確ã«ããããšãæãã§ãããã©ãããå°ãã
ãããããã®
ãœãŒã¹ã®ããºã«ããå§ããŸãããã
æ¹è¡é¢æ°ãæžã
ããã¯ããã«ç°¡åã«ãªãããã§ããïŒ Pythonã§ã¯ãããã€ãã®æ¹æ³ã§æååãå転ã§ããŸãã
ãªãã·ã§ã³-é¡ïŒ
def reverse ïŒ st ïŒ ïŒ
ïŒã¹ã©ã€ã¹ã䜿çšãã
out1 = st [ ::- 1 ]
ïŒæåãè¡é ã«çœ®ã
out2 = ''
stã®chã®å ŽåïŒ
out2 = ch + out2
ïŒèåã®å¢å
out3 = '' çµå ïŒ [ x for x in reverse ïŒ st ïŒ ] ïŒ
ïŒãŸããããã-æååã§æåã€ã³ããã¯ã¹ã䜿çš
out4 = '' ã join ïŒ [ st [ len ïŒ st ïŒ -i- 1 ] for i in range ïŒ len ïŒ st ïŒ ïŒ ] ïŒ
æ»ã1
ã¿ã¹ã¯ã¯éåžžã«ç°¡åã§ãã ãããŠãäžè¬çã«å®è£
ã1è¡ã§èšè¿°ãããããŸãã¯pythonã©ã ãæ©èœã䜿çšããŠèšè¿°ã§ããŸãã
def reverse ïŒ st ïŒ ïŒst [ ::- 1 ]ã è¿ã
reverse = lambda stïŒst [ ::- 1 ]
ãã ãã審æ»å®ãå¥ã®å®è£
ãªãã·ã§ã³ãäœæããããã«èŠæ±ããããããã€ãã®è¿œå æ¡ä»¶ã課ãããšããããŸãã ããšãã°ãè¿œå ã®å€æ°æååã䜿çšããŠé¢æ°ãèšè¿°ããããã«ç¹å®ã®æåãæåã«è¿œå ããŸãïŒæåã®äŸã®out2ã®ãªãã·ã§ã³ïŒã ãŸãã審æ»å®ã¯ãè¿œå ã®å€æ°ããŸã£ãã䜿çšããã«é¢æ°ãå®è£
ããããã«äŸé Œããå ŽåããããŸãã
å®è£
ã§fireãäœãã»ã©ãæ©èœãé
ããªãããšã¯æããã§ãã
>>> rev1 = lambda stïŒst [ ::- 1 ]
>>> rev2 = lambda stïŒ '' ã çµå ïŒ [ x for x in reverse ïŒ st ïŒ ] ïŒ
>>> rev3 = lambda stïŒ '' ã join ïŒ [ st [ len ïŒ st ïŒ -i- 1 ] for i in range ïŒ len ïŒ st ïŒ ïŒ ] ïŒ
>>> timeit ã€ã³ããŒãã¿ã€ããŒãã
>>>ã¿ã€ããŒïŒ "rev1ïŒ 'test'ïŒ" ã "from __main__ import rev1" ïŒ ã timeit ïŒ ïŒ
0.36440300941467285
>>>ã¿ã€ããŒïŒ "rev2ïŒ 'test'ïŒ" ã "from __main__ import rev2" ïŒ ã timeit ïŒ ïŒ
0.8630490303039551
>>>ã¿ã€ããŒïŒ "rev3ïŒ 'test'ïŒ" ã "from __main__ import rev3" ïŒ ã timeit ïŒ ïŒ
1.6259169578552246
çŽç²ãªCã§ã®å€èŠ³ãèŠãŠãã ããã
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define MAX_STRING_LENGTH 128
int reverse ïŒ char str [ ] ïŒ { / *ãŸãã¯char * str * /
char * buffer ;
size_t len ã i ;
len = strlen ïŒ str ïŒ ; / *è¡æ«ã®\ \èšå·* /
buffer = ïŒ char * ïŒ malloc ïŒ len + 1 ïŒ ;
if ïŒ ïŒãããã¡ïŒ
0ã è¿ã ãŸã ã / *ãããã¡ã«ååãªã¡ã¢ãªããããŸããã§ãã* /
for ïŒ i = 0 ; i < len ; i ++ ïŒ {
ãããã¡[ i ] = str [ len -i - 1 ] ;
} ;
ãããã¡ãŒ[ len ] = '\ 0' ;
strcpy ïŒ str ããããã¡ïŒ ;
ããªãŒïŒãããã¡ãŒïŒ ;
1ã è¿ã ãŸãã / *æ£åžžã«å®è¡ãããŸãã* /
} ;
void main ïŒ ïŒ {
char str [ MAX_STRING_LENGTH ] ;
int result ;
ååŸïŒ str ïŒ ;
result = reverse ïŒ str ïŒ ;
if ïŒ ïŒçµæïŒ
printf ïŒ "å®è¡ãšã©ãŒïŒã¡ã¢ãªã足ããŸãã" ïŒ ;
ä»ã«
printf ïŒ "ïŒ
s \ n" ã str ïŒ ;
} ;
ãã®å®è£
ã«ã€ããŠããã€ãã®èšèãè¿œå ããå¿
èŠããããŸãã ãŸããçŽç²ãªANSI Cã«ã¯ããŒã«åã¯ãããŸããïŒC ++ã§ã¯boolããããŸãïŒã ãããã£ãŠããã®åçŽãªintã®å Žæã«æ»ããŸãã 次ã«ããªãã§ããããè¿ãã®ãïŒ å€ãã®å Žåã審æ»å®ãããã°ã©ã ãšã©ãŒã®å¯èœæ§ãäºæž¬ããããããé²æ¢ãããããã®ãããªãšã©ãŒãçºçããããšãããã°ã©ã ã«ç¥ãããæ¹æ³ã«æ³šæãæã£ãŠããŸãã Pythonã§ã¯ãèšèªã¯
try: ... except ...
ã³ã³ã¹ãã©ã¯ãã§ã³ãŒããã©ããããããšã§äŸå€ãåŠçã§ã
try: ... except ...
ã Cã§ã¯ãã³ãŒãèªäœã䜿çšããŠãšã©ãŒåŠçãåŠçããå¿
èŠããããŸãã ãããã£ãŠããããå®è£
ããã«ã¯2ã€ã®æ¹æ³ããããŸãã ãããã¿ã€ããæžããŸãããïŒ
int reverse ïŒ char * str ïŒ ; / *æåããå Žåã¯1ïŒTrueïŒãè¿ããŸã* /
char * reverse ïŒ char str [ ] ã int * success ïŒ ; / *ãžã®ãã€ã³ã¿ã«åŸã£ãŠãæ°ããè¡ãè¿ããŸã
æåæžã蟌ã¿æåæäœ* /
Cã§ã¯ãåŒæ°ãå€ã«ãã£ãŠé¢æ°ã«æž¡ãããããšãå¿ããªãã§ãã ããïŒåç
§ã«ããåŒã³åºãã§ã¯ãªããå€ã«ããåŒã³åºãïŒãé¢æ°ã«æž¡ãããåŒæ°ã®å€ã¯ã¹ã¿ãã¯ã«ã³ããŒãããŸãã ãããã£ãŠãé¢æ°å
ã§ãããã®åŒæ°ã®1ã€ä»¥äžãå€æŽããå Žåã¯ããã®å€æ°ã§ã¯ãªãããã®å€æ°ã«ãã€ã³ã¿ãŒãæž¡ãå¿
èŠããããŸãã
ãã ããæå®ãããããŒãžã§ã³ã®ã³ãŒãã¯æãå¹æçã§ã¯ãããŸããã ããã«ã¯2ã€ã®çç±ããããŸãã
- ã¡ã¢ãªãŒïŒãããã¡ãŒïŒã«äžæè¡ãäœæããããã«æ°ãã圢æãããè¡ã®äžæå€ãè¿œå ããŸã
- è¡ãå転ããã«ã¯ããã®é·ãã®ååã ããè¡ãã°ååã§ã
ããé«éã§ãªãœãŒã¹ãç¯çŽããã³ãŒãã瀺ããŠã¿ãŸãããã
int qreverse ïŒ char str [ ] ïŒ {
char ch ;
size_t len ;
int i = 0 ;
len = strlen ïŒ str ïŒ ;
for ïŒ i = 0 ; i < len >> 1 ; i ++ ïŒ {
ch = str [ i ] ;
str [ i ] = str [ len - 1 - i ] ;
str [ len - 1 -i ] = ch ;
} ;
1ã è¿ã ãŸãã
} ;
forã«ãŒãã®
len>>1
ã¯ããããåäœã§å³ã«ã·ããããããšã«ããã2ã§ç°¡åã«é€ç®ã§ããŸãã ãã®ãããªããªãã¯ãè¡ããšãã¯ãæãåçŽãªäŸïŒå¢ç/åææ¡ä»¶ãšæ°åŠçåž°çŽæ³ã®ãã§ãã¯ïŒã§å®è¡ã®æ£ç¢ºãã確èªããããšããå§ãããŸãã
- æååã®é·ãã0ã®å ŽåïŒ0 >> 1 = 0-forã«ãŒãã¯å®è¡ãããŸããã
- æååã®é·ãã¯1ïŒ1 >> 1 = 0-ã«ãŒãã¯å®è¡ãããŸããã
- æååã®é·ãã¯2ïŒ2 >> 1 = 1-ã«ãŒãã¯1åå®è¡ãããæåãšæåŸã®æåãåé
眮ãããŸã
- å¥æ°ã®å Žåã¯1ãå¶æ°ã®å Žåã¯2
ã€ãŸã ãã®å Žåãå¶æ°ããã³å¥æ°ã®é·ãã§æ©èœããŸãã ããã«ãæååã®é·ãããŒãã®å Žåã«ãéèŠãªã±ãŒã¹ããã§ãã¯ããŸããã
ãããããããããã®ã¿ã¹ã¯ã®æéãã€æçã®ã³ãŒãã«ãªãã§ãããã ãªããªã Cã®3åã®1ã®å©ããåããã«ãå Žæã§2ã€ã®å€æ°ãåé
眮ããããšã¯ã§ããŸããã æååã\ 0ãã®æåŸã®æåã¯éå§ãããŸããã i = 0ã®å Žåãæåãã2çªç®ã®æåãå€æŽããŸããè¡ã®é·ãã¯ããªããäžã«å€æŽãããŸããã
æ²é»ããªãããã«ããããŠå®éã«åé¡ãæ確ã«ããããã«ãã·ãªãŒãºã®æåã®æ°åïŒã0 1 1ããã1 1 2ããããã«ã¯ã1 2 3ãïŒãåãåãããå¿
èŠããããŸãã ããã¯èª¬æã ãã§ãªããã¿ã¹ã¯ãå®å
šã«ç解ããã«ã³ãŒããæžãããã«çã£åããé£ã³åãããã°ã©ããŒã§ã¯ãªãããšã瀺ãæ¹æ³ã§ããããŸãã åé¡ã解決ããããã®ããã€ãã®ã¢ã«ãŽãªãºã ãŸãã¯æ¹æ³ãåŒçšããããšã¯è¯ãç¿æ
£ã§ãïŒæããªãã«ãŒããã©ãŒã¹ãœãªã¥ãŒã·ã§ã³ããå§ããŸããããæ¹åã§ããããããã®ã¢ã«ãŽãªãºã ã¯éåžžã«å¹çãæªããšã¯ã£ãããšèŠåããŸããïŒã ãã®åŸã圌ã¯
big-O ïŒbig-OïŒã®ã¢ã«ãŽãªãºã ã®è€éãã®åæãè¡ãã審æ»å®ãã©ã®ãããªå®è£
ãæãã§ããããå°ããåŸãã³ãŒãã£ã³ã°ãéå§ããŸããã å¹ççãªã¢ã«ãŽãªãºã ã«ã¯è€éãªå®è£
ãå¿
èŠã«ãªãããšããããããŸãã ãŸããé»è©±ã§ã®äŒè©±ïŒ30ã45åããŸãã«æ倧1æéïŒã§ãè©Šéšå®ã¯å°ãªããšãããã€ãã®ã¿ã¹ã¯ã§ã¹ãã«ã調ã¹ãããšèããŠããŸãã ãããã£ãŠã圌ã¯ããã決å®ããããšãã§ããŸã åé¡ã解決ããããŸããŸãªæ¹æ³ãç¥ã£ãŠãããªããå¹çã®æªãã¢ã«ãŽãªãºã ãæžãã ãã§ååã§ãããããéãæžãããšãã§ããŸãã
def fib_N_rec ïŒ n ïŒ ïŒ
n = int ïŒ n ïŒ ïŒnãæŽæ°ã§ãªãå Žå
n > 1ã® å Žå ïŒ
return fib_N_rec ïŒ n- 1 ïŒ + fib_N_rec ïŒ n- 2 ïŒ
ãã®ä» ïŒ
nãè¿ã
memo = { 0 ïŒ 0ã1 ïŒ 1 } ïŒå€ã®èŸæž
def fib_rec ïŒ n ïŒ ïŒ
ã¡ã¢ã®n 㧠ãªã å Žå ïŒ
memo [ n ] = fib_rec ïŒ n- 1 ïŒ + fib_rec ïŒ n- 2 ïŒ
ã¡ã¢ãè¿ã [ n ]
def fib_iter ïŒ n ïŒ ïŒ
fib1ãfib2 = 0ã1
n > 0ã® å Žå ïŒ
for i ã ç¯å² ïŒ n- 1 ïŒã®å Žå ïŒ
fib1ãfib2 = fib2ãfib1 + fib2
fib2ãè¿ã
elif n == 0 ïŒfib1ãè¿ããŸã
else ïŒ ãªãã è¿ã ãŸã
ïŒæåã®70èŠçŽ ã§ã®ã¿æ©èœããŸã-ããã«äžžã誀差
phi = ïŒ 1 + 5 ** 0.5 ïŒ / 2
def fib ïŒ n ïŒ ïŒ
return int ïŒ round ïŒ ïŒ phi ** n- ïŒ 1 -phi ïŒ ** n ïŒ / 5 ** 0.5 ïŒ ïŒ
fib_N_recã¯ããã£ããããæ°ãèŠã€ããååž°çãªæ¹æ³ã§ãã ååž°ã®çµäºæ¡ä»¶ïŒåºæ¬ã±ãŒã¹ïŒãèšå®ããå¿
èŠããããŸãããããã¯ããããã0ãš1ã®ãŒããšæåã®äœçœ®ã®æ°å€ã«ãªããŸãã ååž°çãªã±ãŒã¹ïŒn> 1ïŒã¯ãåã®2ã€ã®æ°åã§é¢æ°ãåŒã³åºããŸãã ãã ããé¢æ°ã®åã³ããŒãä»ã®2ã€ã®ã³ããŒãåŒã³åºãããããã®å®è£
æ¹æ³ã¯ã²ã©ãç¡é§ã§ãã ã¹ã¿ãã¯äžã®å€æ°é¢æ°ã®å€ãä¿åããããã«ã¡ã¢ãªãæ¶è²»ããæ°ããã°ããã®æ°åã®åŒââã³åºããããã»ããµã«ããŒãããŠã次æ°OïŒ2 ^ nïŒã®ã¢ã«ãŽãªãºã ã®è€éããäžããŸãã ãããã£ãŠãå€ãã¡ã¢ãã£ã¯ã·ã§ããªã«æ ŒçŽãããšãããã»ã¹ã¯äœåºŠãé«éåããïŒfib_recïŒãOïŒnïŒãäžããããŸããããã«ã以åã®å€ãä¿æããããããé¢æ°ãžã®åŸç¶ã®åŒã³åºãã¯ããé«éã«å€ãåãåããŸãã
ã©ããªã¿ã¹ã¯ã§ããååž°ãå埩ã«çœ®ãæããããšã§ãååž°ãå®å
šã«åé¿ã§ããŸãã ããªãŒãŸãã¯ã°ã©ããééããã¿ã¹ã¯ã®å Žåãéåžžãã¹ã¿ãã¯ã«ããŒã«ã«å€æ°ãä¿åããå¿
èŠããããŸãã ããããåçŽãªã¿ã¹ã¯ã§ã¯ãæåŸã®2ã€ã®å€æ°ãã£ããããæ°ã®å€ã®ã¿ãä¿æã§ããŸãã ç¹°ãè¿ããŸãããåææ¡ä»¶ã«æ³šæããããã€ãã®åææ¡ä»¶ã«ã€ããŠãµã€ã¯ã«ã®å®è¡ã確èªããå¿
èŠããããŸãã ãã®ããã«ããŠããšã©ãŒã®çºçãé²ããŸãã
ããåŒãä»ããŠãã£ããããæ°ã®å€ãè¡šçŸããæ¹æ³ããããŸãã ãã®ãããªã€ã³ã¿ãã¥ãŒã§ã¯éåžžããã®ãããªè©³çŽ°ã¯æ±ããããŸããããã·ãŒã±ã³ã¹ã®æ°åŠçç¹æ§ã«ã€ããŠç¥ã£ãŠããå Žåã¯ãå¿
ãèšåããŠãã ããã ãã®ããã«ããŠãäžè¬æè²ãšããŸããŸãªè§åºŠããåé¡ãåæããèœåã瀺ããŸãã
ãã®å ŽåãBinetåŒã¯ãã·ãŒã±ã³ã¹ã®70çªç®ã®èŠçŽ ãŸã§ããæ©èœããŸãããããã«ãæµ®åå°æ°ç¹æŒç®ã®çŽ¯ç©èª€å·®ã®ãããèšç®å€ã¯èª€ã£ãŠããŸãã
Cã®å Žåãåäžè¡é¢æ°ãäœæã§ããŸãã
unsigned long fib ïŒ unsigned long n ïŒ { return ïŒ n < 2 ïŒ ïŒ n ïŒ fib ïŒ n - 1 ïŒ + fib ïŒ n - 2 ïŒ ; }
æ¬ ç¹ã¯äŸç¶ãšããŠåãã§ããããããã®åé¡ã質åã«å«ãŸããŠããå Žåã¯ããã®ãããªè§£æ±ºçã«èšåããæ¬ ç¹ã説æããå€ã®ä¿åãäžæé
åã«è¿œå ããBinetåŒïŒãŸãã¯äžè¬çã«
Lucosã·ãŒã±ã³ã¹ã®åŒïŒãåŒã³åºããŠå埩解ã
æ€èšããããšãã§ããŸãã
åŠæ ¡ã®æãç®è¡š12x12ãå°å·
def multTab ïŒ ïŒ ïŒ
ç¯å² ïŒ 1ã13ïŒã®iã®å ŽåïŒ
print ïŒ '\ t'ãjoin ïŒ [ str ïŒ x * i ïŒ for x in range ïŒ 1ã13 ïŒ ] ïŒ ïŒïŒ
ããã«ã¯ããªãã¯ã¯ãããŸããã è¡å
ã®åå¥ã®ã«ãŒãã®ä»£ããã«ããªã¹ããçµåããæ¹æ³ïŒãªã¹ãé£çµïŒã䜿çšããŸãããåèŠçŽ ã¯æååã«å€æãããã¿ããä»ã®èŠçŽ ã«æ¥ç¶ãããŸãã
1 2 3 4 5 6 7 8 9 10 11 12
2 4 6 8 10 12 14 16 18 20 22 24
3 6 9 12 15 18 21 24 27 30 33 36
4 8 12 16 20 24 28 32 36 40 44 48
5 10 15 20 25 30 35 40 45 50 55 60
6 12 18 24 30 36 42 48 54 60 66 72
7 14 21 28 35 42 49 56 63 70 77 84
8 16 24 32 40 48 56 64 72 80 88 96
9 18 27 36 45 54 63 72 81 90 99108
10 20 30 40 50 60 70 80 90100110120
11 22 33 44 55 66 77 88 99 110 121 132
12 24 36 48 60 72 84 96108120132144
次ã®ããã«åçŽã«é¢æ°ãäœæããããšã«ããå ŽåïŒ
ç¯å² ïŒ 1ã13ïŒã®iã®å ŽåïŒ
st = ""
ç¯å² ïŒ 1ã13ïŒã®jã®å ŽåïŒ
st + = '\ tïŒ
d' ïŒ
ïŒ i * j ïŒ
å°å· ïŒ st ïŒ
æ°åã®åœ¢æã«æ³šæããå¿
èŠããããŸãã
st += '\t%d'% i*j
ãæ¬åŒ§ãªãã§æžããšãæ°å€iãæååã«ä»£å
¥ãããæååãjåä¹ç®ãããŸã-Pythonã§ã¯ããã®ãããªæäœã¯åã«æååã®ã³ããŒãäœæããããšãæå³ããŸã ãããã£ãŠããã®å Žåã®æ¬åŒ§ã¯å¿
é ã§ãã
#include <stdlib.h>
#include <stdio.h>
void main ïŒ ïŒ {
int i ã j ;
for ïŒ i = 1 ; i < 13 ; i ++ ïŒ {
for ïŒ j = 1 ; j < 13 ; j ++ ïŒ {
printf ïŒ "\ tïŒ
d" ã i * j ïŒ ;
} ;
printf ïŒ "\ n" ïŒ ;
} ;
} ;
Cã§ã¯ãåãèãã ããã©ã«ãã§ã¯ãprintfã®ã¿ãæ¹è¡ãæ¿å
¥ããŸããã ãããã£ãŠãå
éšã«ãŒããééããåŸãäžæå€æ°ïŒæååïŒãä¿åããŠæ¹è¡ãè¿œå ã§ããŸãã
æ°å€ïŒ1è¡ã«1ã€ã®æ°å€ïŒãå«ãããã¹ããã¡ã€ã«ãèªã¿åãããããã®æ°å€ã®åèšãè¿ããŸã
def sumIntFromFile ïŒ filename ïŒ ïŒ
åèš = 0
FIN ãšã㊠open ïŒ filenameã 'r' ïŒ ã䜿çšããå Žå ïŒ
FINã®åç·çš ã readlines ïŒ ïŒ ïŒ
è©ŠããŠãã ãã ïŒ
sum + = int ïŒ lineãstrip ïŒ ïŒ ïŒ
ãé€ã ïŒ
åæ Œãã
è¿é é¡
sumOfFile = lambda filenameïŒ sum ïŒ [ int ïŒ line ïŒ in line in open ïŒ filenameã 'r' ïŒ ã readlines ïŒ ïŒ ] ïŒ
ããã§ã¯ãäžè¬çãªåœ¢åŒã®é¢æ°ãšãã©ã ãé¢æ°ã«ããåäžè¡ããŒãžã§ã³ãæžãçããŸããã ã©ã ãã®åé¡ã¯ãæåã«ã·ãŒããäœæããŠããããã®ãã¹ãŠã®èŠçŽ ãåèšããããšã§ãã ãã¡ã€ã«ã倧ããå Žåããã®ã·ãŒãã®äœæã«æéã浪費ããŸãã éåžžã®å®è£
ã§ã¯ãåèšéé¡ãšãã1ã€ã®æ°å€ã®ã¿ãæ ŒçŽããŸãã ãŸããäžè¬çãªå®è£
ã§ã¯ãæååãæ°å€ã«å€æã§ããªãå Žåã«åããŠã
try ... except...
ã³ã³ã¹ãã©ã¯ããèšå®ããŸãã äŸã¯ç©ºã®æååã§ãã å¯èœæ§ã®ããäŸå€ã«ã€ããŠå¯©æ»å®ã«äŒããæçµç®æšãäœã§ãããã«å¿ããŠãé¢æ°ã®ããŸããŸãªåäœãèšé²ã§ããããšã説æããã®ã¯è¯ãããšã§ãã
Cã§ã¯ãããã€ãã®åé¡ãåæã«çºçããŸãã ã³ãŒããèŠãŠã¿ãŸãããïŒ
#include <stdio.h>
#include <stdlib.h>
long handle_line ïŒ char * line ïŒ {
return atoi ïŒè¡ïŒ ; //é·ãæ»ããŸã
}
int main ïŒ int argc ã char * argv [ ] ïŒ {
intãµã€ãº= 1024 ã pos ;
int c ;
é·ãåèš= 0 ;
char * buffer = ïŒ char * ïŒ malloc ïŒãµã€ãºïŒ ;
ãã¡ã€ã«* f = fopen ïŒ argv [ 1 ] ã "r" ïŒ ;
if ïŒ f ïŒ {
do { //ãã¡ã€ã«ããããŒã¿ã®èªã¿åããéå§
pos = 0 ;
do { // 1è¡ã®ã¿ãèªã¿åã
c = fgetc ïŒ f ïŒ ;
if ïŒ c ïŒ= EOF ïŒ buffer [ pos ++ ] = ïŒ char ïŒ c ;
if ïŒ pos > = size - 1 ïŒ { //ãããã¡ãŒã®ãµã€ãºãå¢ããã\ 0æåã1ãæã«å¢ãã
ãµã€ãº* = 2 ;
buffer = ïŒ char * ïŒ realloc ïŒãããã¡ããµã€ãºïŒ ;
}
} while ïŒ c ïŒ= EOF && c ïŒ= '\ n' ïŒ ;
ãããã¡[ pos ] = 0 ;
//ãããã¡å
ã®è¡-é¢æ°ã«æž¡ããŸã
summ + = handle_line ïŒ buffer ïŒ ;
} while ïŒ c ïŒ= EOF ïŒ ;
fclose ïŒ f ïŒ ;
}
ããªãŒïŒãããã¡ãŒïŒ ;
printf ïŒ "SummïŒïŒ
ld \ n" ã summ ïŒ ;
0ã è¿ã ãŸã ã
}
ãã¡ã€ã«ããããŒã¿ã1æåãã€èªã¿åãããããã¡ã«æžã蟌ãå¿
èŠããããŸãã ãããã¡ãçµäºããŠããè¡ã®çµããããŸã ãªãå Žåã¯ã2åã®ããªã¥ãŒã ã®ã¡ã¢ãªãåå²ãåœãŠããå¿
èŠããããŸãã ãã®ã¿ã¹ã¯ã§ã¯ãåºå®é·ãããã¡ãæå®ã§ããŸãã ããããç§ã¯éåžžã«é·ãè¡ã«å¯ŸåŠããæ¹æ³ã瀺ãããã£ãã ãã§ãã éé¡ãä¿åããã«ã¯ãlongåã䜿çšããŸãã åãã¿ã€ããæåååŠçé¢æ°ã«ãã£ãŠè¿ãããŸãã
C ++ã§ã¯ãæäœã®äžéšãæšæºé¢æ°ã«ããããšãã§ããŸãã
#include <string>
#include <iostream>
#include <fstream>
#include <cstdlib>
åå空éstdã䜿çšããŸãã
int main ïŒ ïŒ {
é·ãåèš= 0 ;
ifstream input ïŒ "test.dat" ïŒ ;
æååè¡;
while ïŒ getline ïŒ input ã line ïŒ ïŒ {
// cout << line << 'n';
summ + = atoi ïŒ line.c_str ïŒ ïŒ ïŒ ;
}
cout << summ << '\ n' ;
0ã è¿ã ãŸã ã
}
ãããã«
äžèšã®ã¿ã¹ã¯ã¯éåžžã«åçŽã§ãããã¢ã«ãŽãªãºã ãããŒã¿æ§é ã®è©³çŽ°ãªç¥èã¯å¿
èŠãããŸããã ããããèšèªã®æ©èœãšãã®æšæºæ§é ãç¿åŸããèœåã«é¢ããç¥èã瀺ãããã«èšèšãããŠããŸãã ãŸãã10å以å
ã«åæ§ã®é¢æ°ãäœæã§ããå¿
èŠããããŸãã 次ã®ããŒãã§ã¯ãããå°ãè€éãªåé¡ã«ã€ããŠèª¬æããŸãã
ããŒã1ããŒã3