うるう年ってさ、at PROG
うるう年ってさ、 - 暇つぶし2ch1:仕様書無しさん
10/03/04 10:56:48
400で割り切れたら → うるう年。終わり

100で割り切れたら → うるう年じゃない。終わり

4で割り切れたら → うるう年。終わり

うるう年じゃない。終わり


だよな?

なんでみんな複雑に考えるの?

2:仕様書無しさん
10/03/04 12:00:17
2800まではソレでいいけど、 その先 教会によって違う結果が出るからだろ

あと、整数演算+アセンブラだと、余りを計算する方法も教えてやらないと最近の子は駄目だよ。

C言語使えても、 除算命令もっていないCPUで % 書くのは禁止って所も多いからね

3:仕様書無しさん
10/03/04 12:12:08
>>2



4:仕様書無しさん
10/03/04 12:16:33
URLリンク(ja.wikipedia.org)
> 修正ユリウス暦
> 1 西暦年が4で割り切れる年は閏年
> 2 ただし、西暦年が100で割り切れる年は平年
> 3 ただし、西暦年を900で割った余りが200または600になる年は閏年

なんで複雑に考えるの?

900で割った余りが200または600なら → うるう年。終わり

100で割り切れたら → うるう年じゃない。終わり

4で割り切れたら → うるう年。終わり

うるう年じゃない。終わり

5:仕様書無しさん
10/03/04 12:26:11
うるう秒、うるう月の計算方法も希望

6:仕様書無しさん
10/03/04 12:36:51
>>4
そのコードに 2800年に カトリックが優勢なのかどうかの予言ルーチンも必要だね


7:仕様書無しさん
10/03/04 13:20:15
ちゃんと法律通り計算しろよ
URLリンク(www.ron.gr.jp)
>明治三十一年勅令第九十号(閏年ニ関スル件)
> 神武天皇即位紀元年数ノ四ヲ以テ整除シ得ヘキ年ヲ閏年トス
>但シ紀元年数ヨリ六百六十ヲ減シテ百ヲ以テ整除シ得ヘキモノノ中更ニ四ヲ以テ商ヲ整除シ得サル年ハ平年トス

1、まず 神武天皇即位紀元 に直すために 西暦に660を足して 紀元年数とする
    ↓
2、紀元年数を2進数で表現して 下位2bitが 00以外は 平年。終わり
    ↓
3、x = (紀元年数-660) ; while(x>=400){x-=400;}
  xが0ならうるう年 。終わり
    ↓
 xが100,200,300なら 平年 でなければ うるう年  。終わり
  

8:仕様書無しさん
10/03/04 13:44:28
googleで検索すればよくね?

9:仕様書無しさん
10/03/04 23:25:05
こないだの地震で1日が短くなったとか

10:仕様書無しさん
10/03/04 23:31:16
逆。
潮汐力に伴うエネルギーロスで、地球の自転はだんだん遅く成ってる。
つまり1日が長く成ってる。この補正がうるう秒。

11:仕様書無しさん
10/03/04 23:39:46
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

12:仕様書無しさん
10/03/04 23:59:32
一日 26?28 時間くらいだとちょうど体のサイクルに合うってプログラマ多そうだな。

13:仕様書無しさん
10/03/06 08:56:44
これだ

チリ大地震で1日の長さ短縮 NASA分析、地軸も移動
URLリンク(www.47news.jp)

14:仕様書無しさん
10/03/10 00:45:21
うにゅう年

15:uy ◆e6.oHu1j.o
10/03/13 08:33:23
たかがうるう年求めるプログラム程度でも躓くのが日本のITの底力
その手の簡単な問題を素早く解けるかどうかって
勉強時間でどうにもならないからね
勘違いした高学歴が、プログラミングを学業として扱っているのが害悪だな

だけど人間って、二桁掛け算になると、途端に出来なくなるし、三桁とか無理ぽ
100の数字の羅列を一回みただけじゃ、覚えることも出来ないんだ。
どう考えてもこいつわ劣等生物。
ゆえに当たり前の事が出来ない人間を笑う資格も、本当は無い

16:仕様書無しさん
10/03/13 08:38:34
キミなんて就職できて当たり前なのに就職できなかったんだもんね

17:uy ◆e6.oHu1j.o
10/03/13 17:40:57
こっそりこのスレで近況を教えようか?

一切就職活動をしていない。 これからするんだ。
まだ一社も受けていないし、調べてもいない。 ROに夢中でそれどころじゃなかった
つうか、近場で受からなかったら、
こんだけの最高の技術あってもおれはプログラマーにならないのでよろしゅう。
せいぜい通勤時間は40分まで。 それ以上はありえ無いな。
この条件で無理なら、縁がなかったということで。
プログラマーのゴミさを間近で拝めないのは残念だけど、 通勤時間長いのはだるい。

18:uy ◆e6.oHu1j.o
10/03/13 17:42:44
あげあげ晒しあげ

19:uy ◆e6.oHu1j.o
10/03/13 17:43:30
うゆー年wwwwwwwwwwwwwwwwwwwwwwwwwwwwww

20:仕様書無しさん
10/03/13 18:09:12
えり好みするだけの余裕無いだろ
つかこれからこれからって年取ったらもう死ぬしかないぞ

21:uy ◆e6.oHu1j.o
10/03/13 18:26:34
おまえの場合は、年取ったら死ぬしかないんだろうな。
そんな危機感持ってる時点で、もうフラグたってるよ。
ただ生きることに精一杯な人間ばかりとおもうな
余裕を持って生きている人間なんて、お前の知らない世界にはごまんといる
お前が、ただそうではないというだけだ。

22:仕様書無しさん
10/03/13 18:29:05
お前に余裕があるようには見えない件について。

学歴ゴミ職歴なしの屑ニートが年齢重ねると悲惨だぞ。

23:uy ◆e6.oHu1j.o
10/03/13 18:38:22
おれに生活的な余裕はあるが、気持ち的な余裕は無い
ゴミみたいな奴には、 とうてい一生かかっても理解出来ないよ
自分の人生の中で、やるべき事が多すぎたから、今の今まで就職活動すら出来なかった。
別に幸せなんてものは求めていないから、
仕事なんて選ぶつもりは無いし、 ただ、自分にとって一番、自由な時間が多く取れる。
そんな場所に、居ることを、おれは望んでいる。
プログラマーも、その選択肢の一つに過ぎない。
おれはとても忙しいよ。
生きてる暇さえ、無い位に。


24:仕様書無しさん
10/03/13 18:40:16
じゃ2chに書き込まないでさっさとやりたいことやれよw
どんだけ自己矛盾してんだこのバカ

25:仕様書無しさん
10/03/13 18:41:08
生きてる暇がないなら、さっさと死ねばいいよ。さようなら。

26:uy ◆e6.oHu1j.o
10/03/13 18:49:04
おれは記憶力が良いんだよ
ゴミに限らず、普通の人間は昔のことなんて忘れて生きてる。
だから、夢も何も忘れて、ただ仕事して、堕落するような人生が歩める。
一度深く覚えたことを忘れることが、おれには出来ない。
昔の負の遺産のせいで、人生狂わされてるのは知っている
けど、これを忘れて生きたら、 もうそれは俺ではない。
自分が自分じゃなくなってまで、生きる位なら、しぬのと同じだと認識している

ゴミみたいな奴は、人間の不完全さに気づく事が出来ないゆえ、
自分のペースを無視して>>24こういうバカみたいなこといいだすわけだ

>>24の言っていることは、
「夢があったら、1秒で夢を叶えろ」 って言っているに等しいよ
人間に不可能は無いからね。
けど、俺は1秒で夢を叶えること出来ないから、自分のペースを護ってる

27:uy ◆e6.oHu1j.o
10/03/13 19:06:21
「ただ、生きていくのがやっとです。」 みたいな奴は、
しゃべりかける人間を間違えてるよね。

おれは、社会にでても、誰にも悩みを打ち明けないし、弱音をはくことは
ネット上でも自Blogでも
おれがやろうとしてる事に比べたら、 「おれ」という人間が生きるという行為なんて、
ゴミみたいなもんだから。
そんなゴミみたいな行為さえ出来ないのであれば、 おれがやろうとしてることなんて出来るわけが無いんだ。
生きる暇さえないし、弱音もはいてる暇さえないし、 忙しい。

「死にたくない」と、なるべくおもわないようにしてる
死と隣あわせの状態でなければ、何もかも作業効率が悪い

28:uy ◆e6.oHu1j.o
10/03/13 20:36:19
クズにマジレスとか勿体ない。
人を知るという意味で、
毎日せかせか動いてる社会人と、
毎日無意識に考えちゃうニートがきそって
ニートに勝てるとでも。

人が、「何もやってない」なんていうのは、たとえ監獄の中でもありえないからね。
長く生きていれば、それだけで何らかの技術がついている。

ニートを体験したことの無い奴は、
自分が全てにおいてニートよりは上だと勘違いしちゃうみたいです。
2年じゃ長いが、1年くらい体験してみれば良いんだよ。
この「何もしなくて良い」状況に入ってこそ、 本当に自分がやるべきことが見えてくる

そこに、仲間は居ない。 世界にたった一人で、
それでもやりたいとおもうことが、本当に自分がやるべき事なんだよ
ゴミは、それが何か見つけられなくて、
目的も持たずに生きてるから、ゴミって言われるんだ。

みつかるまで。ニートやってこい

何もしない人間は、本当につまらねえ

29:仕様書無しさん
10/03/13 21:23:33
>>17
近場でって、なんだ、京都に行くんじゃなかったのか。

30:仕様書無しさん
10/03/13 23:22:04
オレのペースで~って人生の敗北者の定型台詞じゃねーかw

31:仕様書無しさん
10/03/13 23:58:32
>>30
それを聞いてこの曲を思い出した。

まほらば ~Heartful days~ ED 僕のスピードで
URLリンク(www.youtube.com)

32:仕様書無しさん
10/03/16 05:31:13
では C言語で割り算( / % ) を使わずに書いてみましょう。 

2000~2799 までの範囲で、もっとも平均的に短い時間で計算出来るコードを優勝とします

33:uy ◆e6.oHu1j.o
10/03/16 06:07:38
そのクソゴミみたいな質問は意味が分からないけど
普通に割り算と余り算はかいてみた

#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:仕様書無しさん
10/03/16 06:20:16
うるう年かどうかを判定する関数を書きましょう。

関数仕様は自由ですが、一般的には引数に西暦を 返り値でうるう年ならTrueを返す事になるでしょう。

35:uy ◆e6.oHu1j.o
10/03/16 06:38:53
京都か、
京都も悪くない。
東京ほど空気は汚くなく、それでいて都会だし。雪も降る。

雪の降らない地域って、季節を1個損してるからね。
まず、そんな場所に住みたいとは思えない。
でも、四季の変化を感じられない北海道は、空気の鮮度と、魚の美味しさが異常だったから、
例外的にも北海道はありだと思う

俺はお菓子とかほとんど食べないし、普段あまり食べたいとも思わない。
だから、たまに食べたくなった時は値段を無視しておいしそうなのを買ってる。
俺漏れの地元のように基本的にスーパーとコンビニしかないような街だと、
お菓子の種類も限られてくる。遠出するのも面倒だし、
あと、飲食店も少ない。
俺漏れは、安さは求めてねえんだよ。 美味しさを求めているのに、
ここら辺はそういう店が皆無だ。 最悪。
いずれいい街に引っ越さないと生きていけないと思う
良さそうな街を探してる

36:uy ◆e6.oHu1j.o
10/03/16 06:43:14
#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:仕様書無しさん
10/03/16 09:08:54
うるう年かどうかを判定する関数を書きましょう。
関数仕様は自由ですが、一般的には引数に西暦を 返り値でうるう年ならTrueを返す事になるでしょう。

それが出来たら、
C言語で割り算( / % ) を使わずに書いてみましょう。 

2000~2799 までの範囲で、もっとも平均的に短い時間で計算出来るコードを優勝とします


38:仕様書無しさん
10/03/16 09:18:01
除算を使う問題とは別に、 処理時間という目で見ると >>36のコードには改善余地がある。

aについて3/4の確率で除算と判定を3回行う事になる。
判定順を工夫する事で、平均処理時間を改善出来る。


39:uy ◆e6.oHu1j.o
10/03/16 09:25:14
もう二つのパーツを俺は書いた
あとはお前らがやれ

40:仕様書無しさん
10/03/16 09:34:29
アルゴリズムの改善は既に >>7 でほぼ終っている。

400での剰余を求める計算量の改善は
掛け算利用可なら

x -= (x >> 9)*400

を入れる事かな。 


41:仕様書無しさん
10/03/16 09:51:36
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:仕様書無しさん
10/03/16 09:53:09
シフト代入は x>>=7 と書くのだったかな? 忘れちゃった

43:uy ◆e6.oHu1j.o
10/03/16 12:37:58
Cで高速化語ってるのにアセンブラコードださないって病気なのk

44:仕様書無しさん
10/03/16 12:53:43
お前アホか?

45:仕様書無しさん
10/03/16 13:13:23
かまうなって。

46:仕様書無しさん
10/03/16 16:16:59
むかし、3や9で割った余りを求める方法として 全部の桁を足してから余りを出しても同じ ってのがあったよね?
それを思い出した。


7で割った余りを求める方法として50で割ってどうとかいうのがあったと思うんだが思い出せない。

47:仕様書無しさん
10/03/16 16:51:30
要は、地球の公転周期と、地球の自転周期の比だな。

365.2422という定義になっているが、
自転は衛星の運行や潮流によって激しく揺らいでいるものの平均に過ぎないし、
公転も無数にある小惑星の運行の影響全てを計算して求めているわけでないし、
あくまでも短い期間の観測を根拠に定義した値に過ぎない。

今後長期に渡った観測により、この2つの周期の定義が揺らいでくるだろう。
そうなると365.2422という定義も変わり、閏年の定義も変わってくる。

48:仕様書無しさん
10/03/16 18:30:14
最初から1万年で約3日ずれるという話になってるわけだが

49:仕様書無しさん
10/03/17 00:03:36
それは現状の観測結果上の話だろ

50:仕様書無しさん
10/03/17 00:09:21
>>1
なんでみんな複雑に考えるの?

4で割り切れたら → うるう年。終わり

これで良いじゃないか。
大体のシステムじゃ2100年まで使わないって。
1901年~2099年以外の日付を使って、
しかもうるう年の判定が必要になる事なんてほぼねーだろ?



51:仕様書無しさん
10/03/17 00:24:10
ネタスレにおいて、マジレス禁止が暗黙のルールですw

52:仕様書無しさん
10/03/17 00:26:07
そんな事より1よ、ちょいと聞いてくれよ。スレタイ通りの話題なんだけどさ。
このあいだ、2chでうるう年の話題みたんです。うるう年。
そしたらなんか人がめちゃくちゃいっぱいで語ってるです。

で、よく見たらなんか能書き垂れやがってて、
「なんでみんな複雑に考えるの?」とか書いてあるんです。

もうね、アホかと。馬鹿かと。
お前らな、うるう年如きで普段気にしてない事語ってんじゃねーよ、ボケが。
うるう年だよ、うるう年。

なんかきもいコテハンとかもいるし。メンヘル野郎でうるう年談話か。おめでてーな。
よーしニートが自分語りしちゃうぞー、とか言ってるの。もう見てらんない。
お前らな、うるう年の本質教えてやるからその席空けろと。


53:仕様書無しさん
10/03/17 00:27:58
うるう年ってのはな、もっと殺伐としてるべきなんだよ。
2010年なのにプレステ3でいつうるう年障害が始まってもおかしくない、

刺すか刺されるか、そんな雰囲気がいいんじゃねーか。
コテハンニートは、すっこんでろ。

で、やっと落ち着いたかと思ったら、
隣の奴が、「地球の自転周期」、とか言ってるんです。

そこでまたぶち切れですよ。
あのな、自転周期なんてきょうび流行んねーんだよ。ボケが。

得意げな顔して何が、自転周期で、だ。

お前は本当に自転周期を計算したいのかと問いたい。
問い詰めたい。小1時間問い詰めたい。

お前、自転周期って言いたいだけちゃうんかと。


54:仕様書無しさん
10/03/17 00:29:41
自称職人PGの俺から言わせてもらえば今、自称職人PGの間での最新流行はやっぱり、
4で割るだけ、これだね。

4で割れたらうるう年。これが通の結論。

4で割るだけってのはリスクが多めに入ってる。そん代わりコストが少なめ。これ。
で、それで1901年~2099年以外の日付は無視。これ最強。

しかしこれを公言と次から職場の人間にマークされるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあお前、1は、400で割れるか位までは気にしてなさいってこった。

55:uy ◆e6.oHu1j.o
10/03/17 08:20:52
え?
おい。まじめにアセンブラ解説しないでおわりなの?
中途半端うぜえんだけど
Cで高速化語ってる人間がアセンブラすら読めないとか笑わせんなよゴミ

56:仕様書無しさん
10/03/17 09:18:25
>>55
お前はこれから情報処理技術者試験を受けます!
・・・って学生か。
幼稚な事を得意げに語ってんなよw

57:仕様書無しさん
10/03/17 09:38:04
分かる奴は分かってるから安心しろ。
それを指摘する労力を惜しんでるだけさ。

58:仕様書無しさん
10/03/17 09:54:44
あなたが求めるなら、掛算を使わない術を授けましょう。
そしてあなたが求めるなら除算の秘術を授けましょう。

あなたは求めますか?

59:仕様書無しさん
10/03/17 10:09:20
まず>>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:仕様書無しさん
10/03/17 12:29:36
この手の、
一人問題だして、一人で解いて悦に浸ってる大学生ってなんなんだろう
たまーにいるけどね

61:仕様書無しさん
10/03/17 18:17:33
テーブルつかえ。

62:仕様書無しさん
10/03/17 18:41:40
テーブル=表

63:uy ◆e6.oHu1j.o
10/03/17 19:53:13
 

64:仕様書無しさん
10/03/17 20:09:55
多分、マップの意味のつもりだろう

65:uy ◆e6.oHu1j.o
10/03/17 20:10:14
ほんと中途半端だな
何がやりたかったの
つうか、もう終わったのか?
おわりがどこかわからない。
おまえリーダーとかやったことないだろ
まぁプログラマはゴミだから
プログラマになろうとしてる学生の時点からゴミでも不思議じゃあないけどね

66:仕様書無しさん
10/03/17 20:16:37
お前の人生は中途半端ではなく下の下だもんな
さすがに見習えないけど

67:仕様書無しさん
10/03/17 20:43:17
>>64
いや、表で合ってるけど。

68:仕様書無しさん
10/03/17 21:19:49
センス無いなあw

69:仕様書無しさん
10/03/18 01:16:51
多分こういうことを言ってるのかな?
>>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:仕様書無しさん
10/03/18 06:05:24
>>69
優勝

71:仕様書無しさん
10/03/18 10:01:20
7の余りは、
10進数なら 50で割った商X と余り Y から X+Y に対して 7で割ったものと同じ。
または100で割った商Xと余りYから 2X+Y でも同じ。


2進数でやる場合は 8で割った商X と余りYから X-Y と繰り返して求める。 負数なら+1する


72:uy ◆e6.oHu1j.o
10/03/18 10:51:02
独り言はblogに書け
覚えたての知識をインターネットでひけらかしたいのはわかるが
何番煎じだと思ってんだ

73:仕様書無しさん
10/03/18 11:50:49
↑お前がいうなw

74:仕様書無しさん
10/03/18 12:18:26
ほぼうるう年ネタは尽きたみたいだから、
アセンブラの話がしたいならしていいんだよ。 

最近のCコンパイラは良く出来ていて、
掛け算命令持ってないCPUでも定数積はシフト+加算に分解してくれるからOK

とかさ

75:仕様書無しさん
10/03/18 14:19:38
20年ぐらい前にはGCCが実装してた気がするが。

76:仕様書無しさん
10/03/18 16:59:10
>>69
表って言ってるんだから、そうじゃないだろ。

77:uy ◆e6.oHu1j.o
10/03/18 17:16:27
>>74
はぁあ?
お前の文章からだと最近のコンパイラが良く出来てるのか最近のCPUが良く出来てるのかどっちだかわかりませんが?


78:仕様書無しさん
10/03/18 18:24:06
>>77
そうそう。そうやってレスは伸ばしてゆかないとね。
せっかく >>71で突っ込めるように間違いを入れてあるのに、>>72じゃレスが止まってしまうでしょ?

さて、最近のCPUといっても
日本製はルネサスにNECと東芝までくっつきそうだし、日本製CPUが一本化されそうな勢いだけどさあどうなるか

組込用途ではPIC優勢かな。少量生産に便利。
PICもCコンパイラで書ける時代だけど、8bitだから感覚が面白いよ。

79:uy ◆e6.oHu1j.o
10/03/18 19:12:55
君が背伸びしなくなったらお話してあげてもいいよじゃあねばいばい

80:仕様書無しさん
10/03/18 19:20:12
負け犬屑ニートw

81:仕様書無しさん
10/03/18 20:18:33
>>76
いや、合ってるけど。
表っていう表現が嫌なら、テーブルでいいよ。

82:仕様書無しさん
10/03/18 20:22:05
>>77
頭悪過ぎ

>最近のCコンパイラは良く出来ていて、
>掛け算命令持ってないCPUでも定数積はシフト+加算に分解してくれるからOK
  ↓
>お前の文章からだと
>最近のコンパイラが良く出来てるのか
>最近のCPUが良く出来てるのかどっちだかわかりませんが?


83:仕様書無しさん
10/03/19 00:01:03
>>81
だから、表もテーブルも同じ意味だって

84:仕様書無しさん
10/03/19 01:18:09
>>83
だから、表で問題ないって言ってるのに、
それだと違うとか言い始めるから。

85:仕様書無しさん
10/03/19 04:57:48
>>64の当て推量が外れたのが悔しくて仕方がないのさ。

86:仕様書無しさん
10/03/19 07:14:30
じゃ、8で割った余り。 2進数なら簡単だけど、10進数で速算法は知ってる?



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch