問題はこちら
No.280 歯車の問題(1) - yukicoder
歯数ZaとZbの歯車があり、前者が|θa|回転したとき後者は|θb|=|θa|*Za/Zbだけ回転するとの事だったので、
Zbの歯車が更にZcの歯車と接している時、|θc|=|θb|*Zb/Zc=|θa|*Za/Zb*Zb/Zc=|θa|*Za/Zc
ここから帰納的に、Z1,…,Znの歯車が並んでいる時最初の歯車の回転をθ1とすれば最後は|θn|=|θ1|*Z1/Znとなり、減速比は|θ1|/|θn|=Zn/Z1となる事がわかる。
出力は既約分数でなくて良いので、Z1とZnをそのまま出力すれば良い
int main(){ int n,z1,zn; scanf("%d%d",&n,&z1); n--; while(n--)scanf("%d",&zn); printf("%d/%d",zn,z1); return 0; }
nもまとめて読み込むことを考えると、保持すべきは2番目と最後
2番目の値だけを保存するのは難しい……
s; main(i){ for(;~scanf("%d",&i);s=s<0?i:s-!s); s=!printf("%d/%d",i,s); }
69B
2016/10/16追記
素直なのが一番短い、はっきりわかんだね
a,b; main(i){ for(;~scanf("%d",&b);a=i--?a:b); b=!printf("%d/%d",b,a); }
68B