本帖最后由 逍遙處士 于 2013-9-14 23:35 編輯 7 a) E) Y' Z. A. ]+ O
' k' Z o9 p4 t. r
& m9 |& A* z! U" u+ q5 M- v3 b F+ B( ~ i# A. p, b
這是用MathCAD做的計算,程序跟一樓一樣,可見第5個也是29,就這來看樓主的程序可能有缺陷。8 `0 ?9 V0 ]6 w( ^
假如齒數為57,則360*3600/57不能整除,問題是否出在這兒?' _7 h1 s: \1 ]! ^2 \2 m
' ?% {- f9 Q4 e- a
假設所給齒數能整除的話,不妨只考慮將第一個角度依次翻倍,代碼如下:3 |9 C# Z5 O: `* q0 `
6 t4 L9 k8 ]0 z2 rint a=0, b=0, c=0;
l3 i1 Z8 C8 w) W' @while ( a<360 )
4 U R) H* ~1 w$ C6 F{
# }2 m# D) S8 [" U. L/ [: i c=(c+s)%60; if ( (c+s)>=60 ) b=(c+s)/60; % @: f1 H# v @$ @) y( U5 d
b=(b+f)%60; if ( (b+f)>=60 ) a=(b+f)/60; # m+ j$ D& J' c1 \" S/ v
a=a+j;
; S& k& ^0 a X3 [ printf("%d°%d′%d″\n",a,b,c);) N/ e0 |1 ?1 N! e, }) a2 r
}6 _ H; \& `4 o' b! T4 n0 b/ \0 C, ]
" W- g: _& q4 z+ ]7 k* Q不妨試一試,看下結果。2 h1 p# N% t9 i0 R
. x! V! o7 X$ s9 v7 P' ]& D- y |