1read 100read
2011年12月1期プログラマー42: うるう年ってさ、 (136)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
・ 次のスレ
43: †プログラマ聖書 (481)
44: 【煙】 なぜプログラマに喫煙者が多いのか 【煙】 (138)
45: プログラマー50代何で居ないの死んでるの? (522)
46: 二重派遣&偽装請負の利用がやめられない日立製作所 (198)
うるう年ってさ、
- 1 :10/03/04 〜 最終レス :11/12/06
- 400で割り切れたら → うるう年。終わり
↓
100で割り切れたら → うるう年じゃない。終わり
↓
4で割り切れたら → うるう年。終わり
↓
うるう年じゃない。終わり
だよな?
なんでみんな複雑に考えるの?
- 2 :
- 2800まではソレでいいけど、 その先 教会によって違う結果が出るからだろ
あと、整数演算+アセンブラだと、余りを計算する方法も教えてやらないと最近の子は駄目だよ。
C言語使えても、 除算命令もっていないCPUで % 書くのは禁止って所も多いからね
- 3 :
- >>2
?
- 4 :
- http://ja.wikipedia.org/wiki/%E9%96%8F%E5%B9%B4
> 修正ユリウス暦
> 1 西暦年が4で割り切れる年は閏年
> 2 ただし、西暦年が100で割り切れる年は平年
> 3 ただし、西暦年を900で割った余りが200または600になる年は閏年
なんで複雑に考えるの?
900で割った余りが200または600なら → うるう年。終わり
↓
100で割り切れたら → うるう年じゃない。終わり
↓
4で割り切れたら → うるう年。終わり
↓
うるう年じゃない。終わり
- 5 :
- うるう秒、うるう月の計算方法も希望
- 6 :
- >>4
そのコードに 2800年に カトリックが優勢なのかどうかの予言ルーチンも必要だね
- 7 :
- ちゃんと法律通り計算しろよ
http://www.ron.gr.jp/law/seirei/uruudosi.htm
>明治三十一年勅令第九十号(閏年ニ関スル件)
> 神武天皇即位紀元年数ノ四ヲ以テ整除シ得ヘキ年ヲ閏年トス
>但シ紀元年数ヨリ六百六十ヲ減シテ百ヲ以テ整除シ得ヘキモノノ中更ニ四ヲ以テ商ヲ整除シ得サル年ハ平年トス
1、まず 神武天皇即位紀元 に直すために 西暦に660を足して 紀元年数とする
↓
2、紀元年数を2進数で表現して 下位2bitが 00以外は 平年。終わり
↓
3、x = (紀元年数-660) ; while(x>=400){x-=400;}
xが0ならうるう年 。終わり
↓
xが100,200,300なら 平年 でなければ うるう年 。終わり
- 8 :
- googleで検索すればよくね?
- 9 :
- こないだの地震で1日が短くなったとか
- 10 :
- 逆。
潮汐力に伴うエネルギーロスで、地球の自転はだんだん遅く成ってる。
つまり1日が長く成ってる。この補正がうるう秒。
- 11 :
- ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
- 12 :
- 一日 26?28 時間くらいだとちょうど体のサイクルに合うってプログラマ多そうだな。
- 13 :
- これだ
チリ大地震で1日の長さ短縮 NASA分析、地軸も移動
http://www.47news.jp/CN/201003/CN2010030301000194.html
- 14 :
- うにゅう年
- 15 :
- たかがうるう年求めるプログラム程度でも躓くのが日本のITの底力
その手の簡単な問題を素早く解けるかどうかって
勉強時間でどうにもならないからね
勘違いした高学歴が、プログラミングを学業として扱っているのが害悪だな
だけど人間って、二桁掛け算になると、途端に出来なくなるし、三桁とか無理ぽ
100の数字の羅列を一回みただけじゃ、覚えることも出来ないんだ。
どう考えてもこいつわ劣等生物。
ゆえに当たり前の事が出来ない人間を笑う資格も、本当は無い
- 16 :
- キミなんて就職できて当たり前なのに就職できなかったんだもんね
- 17 :
- こっそりこのスレで近況を教えようか?
一切就職活動をしていない。 これからするんだ。
まだ一社も受けていないし、調べてもいない。 ROに夢中でそれどころじゃなかった
つうか、近場で受からなかったら、
こんだけの最高の技術あってもおれはプログラマーにならないのでよろしゅう。
せいぜい通勤時間は40分まで。 それ以上はありえ無いな。
この条件で無理なら、縁がなかったということで。
プログラマーのゴミさを間近で拝めないのは残念だけど、 通勤時間長いのはだるい。
- 18 :
- あげあげ晒しあげ
- 19 :
- うゆー年wwwwwwwwwwwwwwwwwwwwwwwwwwwwww
- 20 :
- えり好みするだけの余裕無いだろ
つかこれからこれからって年取ったらもう死ぬしかないぞ
- 21 :
- おまえの場合は、年取ったら死ぬしかないんだろうな。
そんな危機感持ってる時点で、もうフラグたってるよ。
ただ生きることに精一杯な人間ばかりとおもうな
余裕を持って生きている人間なんて、お前の知らない世界にはごまんといる
お前が、ただそうではないというだけだ。
- 22 :
- お前に余裕があるようには見えない件について。
学歴ゴミ職歴なしの屑ニートが年齢重ねると悲惨だぞ。
- 23 :
- おれに生活的な余裕はあるが、気持ち的な余裕は無い
ゴミみたいな奴には、 とうてい一生かかっても理解出来ないよ
自分の人生の中で、やるべき事が多すぎたから、今の今まで就職活動すら出来なかった。
別に幸せなんてものは求めていないから、
仕事なんて選ぶつもりは無いし、 ただ、自分にとって一番、自由な時間が多く取れる。
そんな場所に、居ることを、おれは望んでいる。
プログラマーも、その選択肢の一つに過ぎない。
おれはとても忙しいよ。
生きてる暇さえ、無い位に。
- 24 :
- じゃ2chに書き込まないでさっさとやりたいことやれよw
どんだけ自己矛盾してんだこのバカ
- 25 :
- 生きてる暇がないなら、さっさとばいいよ。さようなら。
- 26 :
- おれは記憶力が良いんだよ
ゴミに限らず、普通の人間は昔のことなんて忘れて生きてる。
だから、夢も何も忘れて、ただ仕事して、堕落するような人生が歩める。
一度深く覚えたことを忘れることが、おれには出来ない。
昔の負の遺産のせいで、人生狂わされてるのは知っている
けど、これを忘れて生きたら、 もうそれは俺ではない。
自分が自分じゃなくなってまで、生きる位なら、しぬのと同じだと認識している
ゴミみたいな奴は、人間の不完全さに気づく事が出来ないゆえ、
自分のペースを無視して>>24こういうバカみたいなこといいだすわけだ
>>24の言っていることは、
「夢があったら、1秒で夢を叶えろ」 って言っているに等しいよ
人間に不可能は無いからね。
けど、俺は1秒で夢を叶えること出来ないから、自分のペースを護ってる
- 27 :
- 「ただ、生きていくのがやっとです。」 みたいな奴は、
しゃべりかける人間を間違えてるよね。
おれは、社会にでても、誰にも悩みを打ち明けないし、弱音をはくことは
ネット上でも自Blogでも
おれがやろうとしてる事に比べたら、 「おれ」という人間が生きるという行為なんて、
ゴミみたいなもんだから。
そんなゴミみたいな行為さえ出来ないのであれば、 おれがやろうとしてることなんて出来るわけが無いんだ。
生きる暇さえないし、弱音もはいてる暇さえないし、 忙しい。
「死にたくない」と、なるべくおもわないようにしてる
死と隣あわせの状態でなければ、何もかも作業効率が悪い
- 28 :
- クズにマジレスとか勿体ない。
人を知るという意味で、
毎日せかせか動いてる社会人と、
毎日無意識に考えちゃうニートがきそって
ニートに勝てるとでも。
人が、「何もやってない」なんていうのは、たとえ監獄の中でもありえないからね。
長く生きていれば、それだけで何らかの技術がついている。
ニートを体験したことの無い奴は、
自分が全てにおいてニートよりは上だと勘違いしちゃうみたいです。
2年じゃ長いが、1年くらい体験してみれば良いんだよ。
この「何もしなくて良い」状況に入ってこそ、 本当に自分がやるべきことが見えてくる
そこに、仲間は居ない。 世界にたった一人で、
それでもやりたいとおもうことが、本当に自分がやるべき事なんだよ
ゴミは、それが何か見つけられなくて、
目的も持たずに生きてるから、ゴミって言われるんだ。
みつかるまで。ニートやってこい
何もしない人間は、本当につまらねえ
- 29 :
- >>17
近場でって、なんだ、京都に行くんじゃなかったのか。
- 30 :
- オレのペースで〜って人生の敗北者の定型台詞じゃねーかw
- 31 :
- >>30
それを聞いてこの曲を思い出した。
まほらば 〜Heartful days〜 ED 僕のスピードで
ttp://www.youtube.com/watch?v=65OFCzpj6AU
- 32 :
- では C言語で割り算( / % ) を使わずに書いてみましょう。
2000〜2799 までの範囲で、もっとも平均的に短い時間で計算出来るコードを優勝とします
- 33 :
- そのクソゴミみたいな質問は意味が分からないけど
普通に割り算と余り算はかいてみた
#include <iostream.h>
void main(){
int rhs = 100;
int lhs = 6;
int k = 0;
int o = 0;
for(int i = rhs; i > 0 ; o=i-= lhs ) k++;
if( o != 0 ){
k-=1;
o += lhs;
}
printf("%d\n" , k);
printf("%d" , o);
}
3ヶ月触ってないのにすらすら書けるとか流石だな
- 34 :
- うるう年かどうかを判定する関数を書きましょう。
関数仕様は自由ですが、一般的には引数に西暦を 返り値でうるう年ならTrueを返す事になるでしょう。
- 35 :
- 京都か、
京都も悪くない。
東京ほど空気は汚くなく、それでいて都会だし。雪も降る。
雪の降らない地域って、季節を1個損してるからね。
まず、そんな場所に住みたいとは思えない。
でも、四季の変化を感じられない北海道は、空気の鮮度と、魚の美味しさが異常だったから、
例外的にも北海道はありだと思う
俺はお菓子とかほとんど食べないし、普段あまり食べたいとも思わない。
だから、たまに食べたくなった時は値段を無視しておいしそうなのを買ってる。
俺漏れの地元のように基本的にスーパーとコンビニしかないような街だと、
お菓子の種類も限られてくる。遠出するのも面倒だし、
あと、飲食店も少ない。
俺漏れは、安さは求めてねえんだよ。 美味しさを求めているのに、
ここら辺はそういう店が皆無だ。 最悪。
いずれいい街に引っ越さないと生きていけないと思う
良さそうな街を探してる
- 36 :
- #include <iostream.h>
#include <windows.h>
/*
1 :仕様書無しさん:2010/03/04(木) 10:56:48
400で割り切れたら → うるう年。終わり
↓
100で割り切れたら → うるう年じゃない。終わり
↓
4で割り切れたら → うるう年。終わり
↓
うるう年じゃない。終わり
*/
BOOL uruudosi(int a){
if(a%400==0) return TRUE;
if(a%100==0) return FALSE;
if(a%4==0) return TRUE;
return FALSE;
}
void main(){
printf(" %d ",uruudosi(2010));
}
- 37 :
- うるう年かどうかを判定する関数を書きましょう。
関数仕様は自由ですが、一般的には引数に西暦を 返り値でうるう年ならTrueを返す事になるでしょう。
それが出来たら、
C言語で割り算( / % ) を使わずに書いてみましょう。
2000〜2799 までの範囲で、もっとも平均的に短い時間で計算出来るコードを優勝とします
- 38 :
- 除算を使う問題とは別に、 処理時間という目で見ると >>36のコードには改善余地がある。
aについて3/4の確率で除算と判定を3回行う事になる。
判定順を工夫する事で、平均処理時間を改善出来る。
- 39 :
- もう二つのパーツを俺は書いた
あとはお前らがやれ
- 40 :
- アルゴリズムの改善は既に >>7 でほぼ終っている。
400での剰余を求める計算量の改善は
掛け算利用可なら
x -= (x >> 9)*400
を入れる事かな。
- 41 :
- x -= (x >> 9)*400 ;while(x>=400){x-=400;}
に対して
x -= ((x*5) >> 11)*400 ;while(x>=400){x-=400;}
は改善になるだろうか? 想定する掛け算コストが判らない。
バレルシフタの有無も判らないので比較不能だが
x -= ((x*5) >> 11)*400 ; → x -= ((x*5) >>7 )&-16)*25 ; と出来る
これから掛け算を展開すると
x+=x<<2; /* 5倍*/
x=>>7;
x&=-16;
x+=x<<2; /* 5倍*/
x+=x<<2; /* 5倍*/
- 42 :
- シフト代入は x>>=7 と書くのだったかな? 忘れちゃった
- 43 :
- Cで高速化語ってるのにアセンブラコードださないって病気なのk
- 44 :
- お前アホか?
- 45 :
- かまうなって。
- 46 :
- むかし、3や9で割った余りを求める方法として 全部の桁を足してから余りを出しても同じ ってのがあったよね?
それを思い出した。
7で割った余りを求める方法として50で割ってどうとかいうのがあったと思うんだが思い出せない。
- 47 :
- 要は、地球の公転周期と、地球の自転周期の比だな。
365.2422という定義になっているが、
自転は衛星の運行や潮流によって激しく揺らいでいるものの平均に過ぎないし、
公転も無数にある小惑星の運行の影響全てを計算して求めているわけでないし、
あくまでも短い期間の観測を根拠に定義した値に過ぎない。
今後長期に渡った観測により、この2つの周期の定義が揺らいでくるだろう。
そうなると365.2422という定義も変わり、閏年の定義も変わってくる。
- 48 :
- 最初から1万年で約3日ずれるという話になってるわけだが
- 49 :
- それは現状の観測結果上の話だろ
- 50 :
- >>1
なんでみんな複雑に考えるの?
4で割り切れたら → うるう年。終わり
これで良いじゃないか。
大体のシステムじゃ2100年まで使わないって。
1901年〜2099年以外の日付を使って、
しかもうるう年の判定が必要になる事なんてほぼねーだろ?
- 51 :
- ネタスレにおいて、マジレス禁止が暗黙のルールですw
- 52 :
- そんな事より1よ、ちょいと聞いてくれよ。スレタイ通りの話題なんだけどさ。
このあいだ、2chでうるう年の話題みたんです。うるう年。
そしたらなんか人がめちゃくちゃいっぱいで語ってるです。
で、よく見たらなんか能書き垂れやがってて、
「なんでみんな複雑に考えるの?」とか書いてあるんです。
もうね、アホかと。馬鹿かと。
お前らな、うるう年如きで普段気にしてない事語ってんじゃねーよ、ボケが。
うるう年だよ、うるう年。
なんかきもいコテハンとかもいるし。メンヘル野郎でうるう年談話か。おめでてーな。
よーしニートが自分語りしちゃうぞー、とか言ってるの。もう見てらんない。
お前らな、うるう年の本質教えてやるからその席空けろと。
- 53 :
- うるう年ってのはな、もっと伐としてるべきなんだよ。
2010年なのにプレステ3でいつうるう年障害が始まってもおかしくない、
刺すか刺されるか、そんな雰囲気がいいんじゃねーか。
コテハンニートは、すっこんでろ。
で、やっと落ち着いたかと思ったら、
隣の奴が、「地球の自転周期」、とか言ってるんです。
そこでまたぶち切れですよ。
あのな、自転周期なんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、自転周期で、だ。
お前は本当に自転周期を計算したいのかと問いたい。
問い詰めたい。小1時間問い詰めたい。
お前、自転周期って言いたいだけちゃうんかと。
- 54 :
- 自称職人PGの俺から言わせてもらえば今、自称職人PGの間での最新流行はやっぱり、
4で割るだけ、これだね。
4で割れたらうるう年。これが通の結論。
4で割るだけってのはリスクが多めに入ってる。そん代わりコストが少なめ。これ。
で、それで1901年〜2099年以外の日付は無視。これ最強。
しかしこれを公言と次から職場の人間にマークされるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあお前、1は、400で割れるか位までは気にしてなさいってこった。
- 55 :
- え?
おい。まじめにアセンブラ解説しないでおわりなの?
中途半端うぜえんだけど
Cで高速化語ってる人間がアセンブラすら読めないとか笑わせんなよゴミ
- 56 :
- >>55
お前はこれから情報処理技術者試験を受けます!
・・・って学生か。
幼稚な事を得意げに語ってんなよw
- 57 :
- 分かる奴は分かってるから安心しろ。
それを指摘する労力を惜しんでるだけさ。
- 58 :
- あなたが求めるなら、掛算を使わない術を授けましょう。
そしてあなたが求めるなら除算の秘術を授けましょう。
あなたは求めますか?
- 59 :
- まず>>36の改善
3/4の確率で 論理演算しか使わないので速度の改善としては十分
BOOL uruudosi(int a){
if(a&3) return FALSE;
a= a%400; //この部分の改善が>>41
swith(a){
100,200,300:return FALSE;
};
return TRUE;
}
- 60 :
- この手の、
一人問題だして、一人で解いて悦に浸ってる大学生ってなんなんだろう
たまーにいるけどね
- 61 :
- テーブルつかえ。
- 62 :
- テーブル=表
- 63 :
-
- 64 :
- 多分、マップの意味のつもりだろう
- 65 :
- ほんと中途半端だな
何がやりたかったの
つうか、もう終わったのか?
おわりがどこかわからない。
おまえリーダーとかやったことないだろ
まぁプログラマはゴミだから
プログラマになろうとしてる学生の時点からゴミでも不思議じゃあないけどね
- 66 :
- お前の人生は中途半端ではなく下の下だもんな
さすがに見習えないけど
- 67 :
- >>64
いや、表で合ってるけど。
- 68 :
- センス無いなあw
- 69 :
- 多分こういうことを言ってるのかな?
>>37に合わせると
/* True: 1 False: 0 Error: -1 */
int isLeapYear( int year )
{
char table[] = { 1, 0, 0, 0, 1, 0, 0, 0, … }; /* 800個分 */
return ( year >= 2000 && year < 2800 ) ? table[ year - 2000 ] : -1;
}
- 70 :
- >>69
優勝
- 71 :
- 7の余りは、
10進数なら 50で割った商X と余り Y から X+Y に対して 7で割ったものと同じ。
または100で割った商Xと余りYから 2X+Y でも同じ。
2進数でやる場合は 8で割った商X と余りYから X-Y と繰り返して求める。 負数なら+1する
- 72 :
- 独り言はblogに書け
覚えたての知識をインターネットでひけらかしたいのはわかるが
何番煎じだと思ってんだ
- 73 :
- ↑お前がいうなw
- 74 :
- ほぼうるう年ネタは尽きたみたいだから、
アセンブラの話がしたいならしていいんだよ。
最近のCコンパイラは良く出来ていて、
掛け算命令持ってないCPUでも定数積はシフト+加算に分解してくれるからOK
とかさ
- 75 :
- 20年ぐらい前にはGCCが実装してた気がするが。
- 76 :
- >>69
表って言ってるんだから、そうじゃないだろ。
- 77 :
- >>74
はぁあ?
お前の文章からだと最近のコンパイラが良く出来てるのか最近のCPUが良く出来てるのかどっちだかわかりませんが?
- 78 :
- >>77
そうそう。そうやってレスは伸ばしてゆかないとね。
せっかく >>71で突っ込めるように間違いを入れてあるのに、>>72じゃレスが止まってしまうでしょ?
さて、最近のCPUといっても
日本製はルネサスにNECと東芝までくっつきそうだし、日本製CPUが一本化されそうな勢いだけどさあどうなるか
組込用途ではPIC優勢かな。少量生産に便利。
PICもCコンパイラで書ける時代だけど、8bitだから感覚が面白いよ。
- 79 :
- 君が背伸びしなくなったらお話してあげてもいいよじゃあねばいばい
- 80 :
- 負け犬屑ニートw
- 81 :
- >>76
いや、合ってるけど。
表っていう表現が嫌なら、テーブルでいいよ。
- 82 :
- >>77
頭悪過ぎ
>最近のCコンパイラは良く出来ていて、
>掛け算命令持ってないCPUでも定数積はシフト+加算に分解してくれるからOK
↓
>お前の文章からだと
>最近のコンパイラが良く出来てるのか
>最近のCPUが良く出来てるのかどっちだかわかりませんが?
- 83 :
- >>81
だから、表もテーブルも同じ意味だって
- 84 :
- >>83
だから、表で問題ないって言ってるのに、
それだと違うとか言い始めるから。
- 85 :
- >>64の当て推量が外れたのが悔しくて仕方がないのさ。
- 86 :
- じゃ、8で割った余り。 2進数なら簡単だけど、10進数で速算法は知ってる?
- 87 :
- で、>>76だが
>>69の内容が表(=テーブル)でな無い件について、一切解決してないんだが?
もしかして、表と配列を同じに考える程度の人?
- 88 :
- いちおう >>69は ハッシュテーブルでしょ。
- 89 :
- くやしい思いしてバカ晒す位なら一回2chやめれば? 大学生
たぶんお前はこの日本底辺のマ板の中でもさらに底辺だし、
いくら日本のプログラマがゴミといえど。学生よりはスキル高いから。 何か映画とか本とかで勘違いしてるのかな
そんなゴミみたいな奴がおれと会話レベルが合うわけがないんだけど。
勉強しなおしてこいよ
- 90 :
- 毎日のように2chで馬鹿晒しながら平気なんて羞恥心の欠片もなくてすごいですね
話が合うわけないと言いつつ年中無休で2chに書き込むなんてレベル高杉ですね
高卒屑ニートさんは学歴コンプレックス丸だしのエスパーでカッコイイですね
がんばって褒めてみた
- 91 :
- 学歴とかなつかしい響きだな。
おれはまぁ、ちょっと前までは学生だったわけだけど、
物凄く遠くに感じる。
これが格の差だとおもう
いつまでも学生気分抜けないままの社会人って恥ずかしいな
「大学では〜 学校では〜 授業では〜」
はぁ??? ここは会社だっての
- 92 :
- おお、いつの間にか卒業していたのか。
それとも退学かな?
- 93 :
- 勤務経験がないのに「ここは会社」とかどや顔で言われても。
- 94 :
- 配列とテーブルの区別も付かん素人がよく言うわw
- 95 :
- >>94
?
表だのテーブルだのいってたの俺じゃあないんだけど、
なにか勘違いしちゃってるから・・・100歩譲って相手してあげようか?
まず、おれはテーブルっていうとHTMLのtableタグを思い出すね。
けど94は、「配列とテーブルの区別」と、言ったな。
テーブルってたぶん約すと表って意味だから。
配列だよね。 二次元配列。
テーブルは、配列(二次元配列) だけど? 何いっちゃってんのw
まぁさらに100歩譲って、テーブルと二次元配列が別物だとしてみようか。?
何故、それらの区別が出来ないと 素人 なんだ・・・
テ ー ブ ル と 配 列 の 区 別 が 必 要 な 業 務 を 挙 げ て み ろ
- 96 :
- 確かにニートと無職の区別もできないようじゃダメだよ
- 97 :
- >>96
サル以下だな
言葉が通じていない
- 98 :
- お前が言うなよ・・・
- 99 :
- >>96
サル以下だな
言葉が通じていない
- 100read 1read
- 1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
・ 次のスレ
43: †プログラマ聖書 (481)
44: 【煙】 なぜプログラマに喫煙者が多いのか 【煙】 (138)
45: プログラマー50代何で居ないの死んでるの? (522)
46: 二重派遣&偽装請負の利用がやめられない日立製作所 (198)