出されたお題をコーディングして罵られるスレ at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
12/12/02 05:24:18.74
例:
お題が「バブルソート」だったら、とりあえずコーディングしてドヤ顔します。
すると「番兵置けやボケ」云々と罵ってもらえます。

このスレは出題者様、回答者、そして教官様を必要としています。よろしくお願いします。

2:デフォルトの名無しさん
12/12/02 06:20:03.83
お題:摂氏温度入力で華氏温度表示。

3:デフォルトの名無しさん
12/12/02 06:22:37.77
>>2

double C, F;
char buf[64];

printf("摂氏:");
fgets(buf, 60, stdin);
C = atof(buf);

F = (9.0/5.0) * C + 32.0;

printf("摂氏%.2f度C => 華氏%.2f度F", C, F);

4:デフォルトの名無しさん
12/12/02 06:37:47.83
お題:雪の結晶を生成、表示するプラグラム。

5:デフォルトの名無しさん
12/12/02 09:05:18.29
>>4
ボケェ!

6:デフォルトの名無しさん
12/12/02 09:42:28.17
64確保して60読み込んでいるところが、
仕様をきちんと確認せずに保険を敷いている間抜けさと姑息さが滲み出ている。

7:デフォルトの名無しさん
12/12/02 12:59:59.33
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

8:デフォルトの名無しさん
12/12/02 15:44:24.01
>>7
おせえよボケ
やる気ねえならもうやめなゴミが

9:デフォルトの名無しさん
12/12/02 22:01:38.03
>>2
#include <string>
#include <iostream>
int main()
{
  while (true) {
    std::cout << "摂氏温度 と入力して下さい: ";
    std::string input;
    if (getline(std::cin, input)) {
      if (input == "摂氏温度") {
        std::cout << "華氏温度" << std::endl;
      }
    } else {
      break;
    }
  }
  return 0;
}

10:デフォルトの名無しさん
12/12/02 22:44:20.13
番兵置けやボケ

11:デフォルトの名無しさん
12/12/02 22:44:56.37
オレがこのスレの
番兵だ!

12:デフォルトの名無しさん
12/12/03 08:06:46.83
(´・ω・`)通りすがりの実数xのn乗根を求めよ

13:デフォルトの名無しさん
12/12/03 14:32:37.88
>>6
「保険を敷く」ってなんだよ。きちんと確認せずに書いている間抜けさが……

>>12
「通りすがりの実数」ってなんだよ。

14:デフォルトの名無しさん
12/12/03 19:44:40.87
> (´・ω・`)通りすがりの実数xのn乗根を求めよ
真の値を返さないとダメ?
それとも数式でOK?

15:片山博文MZボット ◆0lBZNi.Q7evd
12/12/03 19:51:42.06
>>12
#include <math.h>
pow(x,1.0/n)

16:デフォルトの名無しさん
12/12/03 22:19:19.59
>>15
断りがない場合定義域は実数全体だバカ

17:,,・´∀`・,,)っ-○○○
12/12/03 22:20:46.94
突っ込みどころが多過ぎて逆にどう突っ込んでいいか・・・

18:デフォルトの名無しさん
12/12/03 23:37:10.58
実数 x の n 乗根を求めよ。
ただし、
・math.hを使わない
・double x > 1.0 の任意
・int n > 1 の任意

19:,,・´∀`・,,)っ-○○○
12/12/04 00:42:50.34
N乗根の求め方だけで論文書けるレベルなんだな
URLリンク(ci.nii.ac.jp)

20:デフォルトの名無しさん
12/12/04 02:36:11.25
URLリンク(ideone.com)
中間値の定理ならばどんな複雑なものでも解けるだろう

21:,,・´∀`・,,)っ-○○○
12/12/04 12:46:59.57
解りやすくて好きだけど罵倒しないといけないんだよね。

たとえばN = 1,000,000なら収束するまで本当に100万回ずつ乗算をするってのは筋が良くない。
専門学校や大学1〜2年生の宿題レベルならそれでいいかもしれないが実用レベルには遥かに達しない。
整数乗ならこっちのほうが演算回数少ない。

double pow_n( double a, uint_t n )
{
double r = 1.0;
while (n > 0) {
if (n & 1) { r *= a; }
n = n >> 1;
a *= a;
}
return r;
}

22:デフォルトの名無しさん
12/12/05 01:38:02.21
>>21に敬意を込めて
double pow_n(double a, uint_t n)
{
double r = a;
for (--n; n > 0; n >>= 1) {
if (n & 1)
r *= a;
a *= a;
}
return r;
}

doubleの乗算が少し減るかも。
ただしn>1になるが

23:デフォルトの名無しさん
12/12/05 23:17:10.97
朝8時になるとサイト(勤怠管理)が開いて、そこにIDとパスワードを入れて「出勤ボタン」を押してくれるプログラム求む

24:片山博文MZボット ◆0lBZNi.Q7evd
12/12/06 19:05:00.26
>>23 サイトのURLとHTMLソース希望

25:デフォルトの名無しさん
12/12/07 17:49:01.18
>>22
番兵おけやボケェ

26:,,・´∀`・,,)っ-○○○
12/12/08 23:16:53.11
番兵なんていらねえよ、'12冬

27:デフォルトの名無しさん
12/12/09 21:58:31.97
お題:整数nが与えられたとき、その平方根の式を平方因子を括り出しで表示せよ。
例 
sqrt(4)=2
sqrt(8)=2*sqrt(2)

28:デフォルトの名無しさん
12/12/10 00:07:57.66
>>27
#include<stdio.h>
#include<math.h>
int main()
{
int n, hei, inshi;
printf("整数 n(>0) を入力せよ :"); scanf("%d", &n);
if (n < 0) { printf("負は受け付けぬ\n"); return 1; }
if (n == 0) { hei = inshi = 0; }
else {
for (inshi = (int) sqrt((double) n); inshi >= 1; inshi--)
if ((n % inshi) == 0 && (n % (inshi * inshi)) == 0)
break;
hei = n / inshi / inshi;
}
printf("%d = %d * sqrt(%d)\n", n, inshi, hei);
return 0;
}

29:デフォルトの名無しさん
12/12/10 00:22:57.17
>>27
<!-- 2以上を入力しないといけない -->
main(i,n){for(scanf("%d",&n),i=n;n%(--i*i););printf("%d*sqrt(%d)\n",i,n/i/i);}

30:デフォルトの名無しさん
12/12/10 09:49:51.84
おっぱい揉んで
激安で抜ける
○1000円〜
「新宿 アイアイ 」
○1500円〜
「西川口 マーガレット 」
○2000円〜
「新宿・錦糸町 あんぷり亭 」
「新宿 ダブルエロチカ 」

31:デフォルトの名無しさん
12/12/11 11:28:57.75
>>29
intを省略すんな。
main()の引き数の型を変えんな。
iの開始値がnだと入力値が制限されるぞ。
つーか、なんでコメントがhtmlスタイルなんだよ。

32:デフォルトの名無しさん
12/12/11 17:22:09.88
>>28
> if ((n % inshi) == 0 && (n % (inshi * inshi)) == 0)
  ↓
> if (n % (inshi * inshi) == 0)

>>29
65537以上入力出来ない

33:デフォルトの名無しさん
12/12/12 03:51:20.60
>>29
for (i = n; n % i | n / i % i; --i);

34:デフォルトの名無しさん
12/12/14 22:44:23.55
お題:計算結果がが n になる式を 100種類出力せよ。
文字列として比較して違っていればよい。
答えはいくらでもあります。自由にやって下さい。

35:デフォルトの名無しさん
12/12/14 22:49:36.92
n-1+1,...,n-100+100でいいの?

36:デフォルトの名無しさん
12/12/15 00:09:27.39
>>27
nの範囲を指定しましょう

37:デフォルトの名無しさん
12/12/15 00:41:28.96
>>34
perl -e 'print "$_/$_\n" for (1..100)'

検証
> perl -e 'print "$_/$_\n" for (1..100)' | sort | uniq | wc -l
100

38:デフォルトの名無しさん
12/12/15 18:17:33.71
>>34
#include <stdio.h>
int main(void) {
 int n, a, b;
 int i;

 n = 5;
 a = 0;
 b = n;

 for (i=1; i<=100; i++) {
  printf("%03d: %d + %d = %d \n", i, a, b, (a+b));
  a--;
  b++;
 }
 return 0;
}

39:デフォルトの名無しさん
12/12/16 08:28:28.07
お題:3から始めて、それより大きい最小の5の倍数、それより大きい最小の3の倍数、
それより大きい最小の5の倍数、........
とつづく並びの最初の100を出力せよ。

40:デフォルトの名無しさん
12/12/16 08:32:04.86
> とつづく並びの最初の100を出力せよ。

とつづく並びの最初の100個を出力せよ。

でした。訂正します。

41:デフォルトの名無しさん
12/12/16 08:44:22.85
>>39
#include <stdio.h>
int main(){
int cnt = 0, w = 3, n = 1;
while (cnt < 100) {
if (n % w == 0) {
++cnt;
printf("%d ", n);
w = 8 - w;
}
++n;
}
return 0;
}

42:デフォルトの名無しさん
12/12/17 07:15:22.14
お題:4桁の10進数の各桁と四角形の各辺の長さを対応させたとき、四角形にできる
4桁の10進数をすべて求めよ。
1113 などはぺしゃんこだが四角形とする。

43:デフォルトの名無しさん
12/12/17 08:00:27.29
つまんね

44:デフォルトの名無しさん
12/12/17 09:50:25.45
>>42
URLリンク(ideone.com)

45:デフォルトの名無しさん
12/12/18 07:51:49.14
お題:3と5を使わずに1からnまで数えたとき、数えた回数を求めよ。

46:デフォルトの名無しさん
12/12/18 11:02:49.29
>>45
URLリンク(ideone.com)

47:デフォルトの名無しさん
12/12/18 16:01:12.52
URLリンク(ideone.com)

48:デフォルトの名無しさん
12/12/18 16:50:10.58
>>46,47
n<1漏れ

49:47
12/12/18 17:56:49.27
>>48
URLリンク(ideone.com)

50:デフォルトの名無しさん
12/12/18 19:28:51.76
>>45
main(){
 int i=0,n,o=0;
 scanf("%d",&n);
 for(;n;n/=10)
  o+=n%10-n%10/4+n%10/8<<i++*3;
 printf("%d\n",o<0?2-o:o);
}

51:デフォルトの名無しさん
12/12/18 22:01:02.82
>>50
ずれてるように見えるが?
n result
1 1
2 2
3 3
4 3
5 4
6 5
7 6
8 7
9 8
10 8
11 9
12 10
13 11
14 11
15 12
16 13
17 14
18 15
19 16
20 16

52:デフォルトの名無しさん
12/12/18 22:03:41.99
>>45
f:=method(n,
n abs asString translate("01246789","01234567")fromBase(8)+if(n<1,2,0))
Io> f(40)
==> 24
Io> f(80000000)
==> 12582912
Io> f(-40)
==> 26

53:デフォルトの名無しさん
12/12/18 23:17:30.24
>>39
Io> a:=b:=3;100 repeat(a println;b=8-b;a=a+b-a%b)
3
5
6
10
12
(略)
240
243
245
246
250

54:デフォルトの名無しさん
12/12/20 05:44:33.97
お題:ハノイの塔の問題を解く関数を定義せよ。ただし、結果を直接表示せずに
配列、リスト、文字列などで返すようにせよ。

55:デフォルトの名無しさん
12/12/20 07:25:23.26
URLリンク(codepad.org)

56:デフォルトの名無しさん
12/12/20 19:34:57.38
>>54
hanoi:=method(n,a,b,c,
if(n<1,"",hanoi(n-1,a,c,b)..(a .."->".. b .."\n").. hanoi(n-1,c,b,a)))

Io> hanoi(3,"A","B","C")
==> A->B
A->C
B->C
A->B
C->A
C->B
A->B

57:デフォルトの名無しさん
12/12/22 13:13:58.02
お題:a X b X c の大きさの直方体がある。直線距離が最大の2点間の直線距離と表面上を移動したときの最小距離を求めよ。

58:デフォルトの名無しさん
12/12/22 15:30:55.56
>>57
URLリンク(ideone.com)

59:デフォルトの名無しさん
12/12/22 18:00:50.13
>>57
f:=method(v,u:=v sort;list(v map(**2)sum sqrt,(u removeLast**2+u sum**2)sqrt))

Io> f(list(1,2,3))
==> list(3.7416573867739413, 4.2426406871192848)
Io> f(list(5,6,7))
==> list(10.488088481701515, 13.038404810405298)
Io> f(list(3,1,2))
==> list(3.7416573867739413, 4.2426406871192848)

60:デフォルトの名無しさん
12/12/27 11:35:31.59
>>59
その言語が何かは知らないけれど、巧くできているね。
大体意味は掴めたと思うのだが、sortの後のセミコロンの役目はなんだい?
>56も同じ言語かな? そっちもドット二つの意味が知りたいな。

61:デフォルトの名無しさん
12/12/28 23:45:53.38
>>60
プロンプトに名前がでてるのであらためて書かなくていいかなと思ってました。
>>52 >>56 >>59 はIo言語です。
セミコロンは、単に式のデリミタです。
ドットドットは、文字列連結演算子です。

62:デフォルトの名無しさん
13/01/03 16:28:58.19
お題:n桁の2進数で1が連続する部分をもつ数はいくつあるか?(1<n<50)
たとえばn=3の場合、011、110、111の3個。

63:デフォルトの名無しさん
13/01/03 19:16:51.62
>>62
#include <stdio.h>

int main(void)
{
long int n, a = 1, b = 1, nn = 2, t;
for ( n = 1; n <= 50; ++n)
{
printf("n=%ld, answer=%ld¥n", n, nn - a - b);
nn *= 2;
t = b; b = a; a += t;
}

return 0;
}

64:デフォルトの名無しさん
13/01/04 12:56:44.03
>>62
Io言語
f:=method(n,a:=5 sqrt;2**n-(((1+a)/2)**(n+2)/a)round)

Io> f(3)
==> 3
Io> f(20)
==> 1030865
Io> f(49)
==> 5.629296e+014
Io> f(49)asString(0,0)
==> 562929588410238

65:デフォルトの名無しさん
13/01/06 21:22:17.24
お題:長さが32文字以下の2進表記の文字列が与えられたとき"1"の個数を求めよ。

"1010101" ==> 4

66:デフォルトの名無しさん
13/01/06 21:31:36.33
>>65
int main() {
char d[] = "1010101", *p = &d[0];
int total = 0, len;
for (len = strlen(d) - 1; len >= 0; len--) {
if (*p++ == '1') {
total++;
}
}
printf("\"%s\" ==> %d\n", d, total);
return 0;
}

67:デフォルトの名無しさん
13/01/07 01:09:22.84
>>65
URLリンク(ideone.com)

68:片山博文MZボット ◆0lBZNi.Q7evd
13/01/07 01:26:41.44
お題。TXTの拡張BNFをPEGに変換するプログラム。とりつけばWM900。MITライセンスで頼む。期限1/15。

69:デフォルトの名無しさん
13/01/07 01:27:36.59
きもい

70:デフォルトの名無しさん
13/01/07 12:39:39.71
>>65
Io言語
f:=method(s,(s .."1")split("1")size-1)

Io> f("1010101")
==> 4
Io> f("1101010111111111000111010000")
==> 17

71:デフォルトの名無しさん
13/01/07 21:25:32.86
お題
英数字1〜32文字のパスワードに対し、総当たり試行するプログラム

72:デフォルトの名無しさん
13/01/08 01:32:58.19
>>71 SWI-Prolog
s(''). s('0'). s('1'). s('2'). s('3'). s('4'). s('5'). s('6'). s('7'). s('8'). s('9'). s('A'). s('B').
s('C'). s('D'). s('E'). s('F'). s('G'). s('H'). s('I'). s('J'). s('K'). s('L'). s('M'). s('N'). s('O').
s('P'). s('Q'). s('R'). s('S'). s('T'). s('U'). s('V'). s('W'). s('X'). s('Y'). s('Z'). s('a'). s('b').
s('c'). s('d'). s('e'). s('f'). s('g'). s('h'). s('i'). s('j'). s('k'). s('l'). s('m').s('n'). s('o').
s('p'). s('q'). s('r'). s('s'). s('t'). s('u'). s('v'). s('w').s('x'). s('y'). s('z').

73:片山博文MZボット ◆0lBZNi.Q7evd
13/01/08 01:37:50.21
char set[]="0〜9A〜Za〜z";
int siz=10+26+26;
char pas[33];
memset(pas,0,sizeof(pas));
for(int l=1;l<=32;l++){
for(;;){
for(int j=0;j<siz;j++)
{pas[0]=set[j];try(pas);}
int i=0;
while(i<l&&pas[i]=='z')pas[i++]='0';
if(i==l)break;
pas[i]=(pas[i]?*(strchr(set,pas[i])+1):'0';
}}

74:デフォルトの名無しさん
13/01/08 01:45:27.48
memset(pas,0,sizeof(pas));

for(int l=1;l<=32;l++){
を入れ換える

75:デフォルトの名無しさん
13/01/08 01:46:59.33
泥臭いな
圏で語れよ

76:デフォルトの名無しさん
13/01/08 02:07:13.40
>>72 のつづき
?-s(S1),s(S2),s(S3),s(S4),s(S5),s(S6),s(S7),s(S8),s(S9),s(S10),s(S11),s(S12),
s(S13),s(S14),s(S15),s(S16),s(S17),s(S18),s(S19),s(S20),s(S21),s(S22),s(S23),
s(S24),s(S25),s(S26),s(S27),s(S28),s(S29),s(S30),s(S31),s(S32),
concat_atom([S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,
S17,S18,S19,S20,S21,S22,S23,S24,S25,S26,S27,S28,S29,S30,S31,S32],X),
write(X),\+nl.

77:デフォルトの名無しさん
13/01/08 12:42:18.97
>>71
Io言語
f:=method(N,C,A,if(N==0,A println,C foreach(v,f(N-1,C,v .. A))))
d:=" 0 1 2 3 4 5 6 7 8 9"split
A:="A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"split
a:="a b c d e f g h i j k l m n o p q r s t u v w x y z"split
c:=d appendSeq(A,a)
f(32,c,"")

78:デフォルトの名無しさん
13/01/08 16:40:25.41
全部見づらい
0点
出直して来いゴミども

79:デフォルトの名無しさん
13/01/08 21:13:15.58
>>71 J言語
63進数で0を含むものをスキップ
f=:dyad define
c=.'0',y
b=.#c
n=.b^x:x
i=.0
while. i<n do.
d=.b#.inv i
if. -. 0 e. d do. smoutput d{c end.
i=.i+1
end.
)
32 f '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'

80:60
13/01/09 12:32:37.92
>>61
THX!
いやぁ、Io言語は知らなかった。

81:デフォルトの名無しさん
13/01/10 12:14:05.18
お題:パソコンの画面に指定した大きさの正方形とそれに内接する円と
その円に内接する三角形(頂点は12時、4時、8時の位置)をかくプログラム。

82:デフォルトの名無しさん
13/01/10 19:50:48.82
お題:ある球体で直径が2割大きくなるとき
体積は何%増加するかを求める

83:デフォルトの名無しさん
13/01/10 20:46:30.16
>>82
#include<stdio.h>
int main()
{
printf("%f%%\n", 1.2 * 1.2 * 1.2 * 100.0 - 100.0);
return 0;
}

84:デフォルトの名無しさん
13/01/11 01:28:36.43
>>83
真球なの?

85:デフォルトの名無しさん
13/01/11 02:33:52.51
どんな形だろうとも、立体が相似比n倍になったらその体積はnの3乗倍になるだろう

86:デフォルトの名無しさん
13/01/11 06:13:50.98
>>81

87:81
13/01/11 06:45:20.11
ネタがつまらないのは自覚していたが
完全スルーは想定外だった

88:デフォルトの名無しさん
13/01/11 11:05:22.32
ギャハハハ

89:デフォルトの名無しさん
13/01/11 11:56:54.28
グラフといえばエクセルだろ常考

90:片山博文MZボット ◆0lBZNi.Q7evd
13/01/11 15:02:33.57
回答が得られないようなので>>68は宿題スレに移ります。

91:デフォルトの名無しさん
13/01/11 22:44:30.71
>>83
表示しろって書いてないよ

92:デフォルトの名無しさん
13/01/11 22:50:38.92
>>91
double aru_kyuutai_de_chokkei_ga_2wari_ookiku_narutoki_taiseki_ha_nan_percent_zouka_suru_ka_motomeru_function(void)
{
return 1.2 * 1.2 * 1.2 * 100.0 - 100.0;
}

93:デフォルトの名無しさん
13/01/13 15:51:00.53
>>91
その理屈だと、"求めました"、だけでも正解だな。

94:デフォルトの名無しさん
13/01/13 23:08:49.57
>>81 R
odai81 <- function(L=50){
plot(c(0,0,0),c(0,0,0),axes=F,xlab="",ylab="",pch=c(22,1,2),cex=c(L,L*0.886,L*0.568))
}

95:デフォルトの名無しさん
13/01/14 07:39:35.59
>>81 十進BASIC
LET s=2
SET WINDOW -s,s,-s,s
PLOT LINES:-1,1;1,1;1,-1;-1,-1;-1,1
DRAW circle
PLOT LINES:0,1;0.866,-0.5;-0.866,-0.5;0,1
END

96:デフォルトの名無しさん
13/01/14 13:56:15.80
>>81
WebGL
URLリンク(api2ch.appspot.com)

97:デフォルトの名無しさん
13/01/14 22:48:46.16
>>81 Asymptote
size(10cm);
draw((-1,1)--(1,1)--(1,-1)--(-1,-1)--(-1,1));
draw(circle(0,1));
draw((0,1)--(0.866,-0.5)--(-0.866,-0.5)--(0,1));

98:デフォルトの名無しさん
13/01/15 22:04:53.33
お題:英小文字だけからなる文字列が与えられる。1回の操作で1文字だけ大文字小文字
変換ができる。この文字列の各文字の大文字、小文字の組合せをもれなく重複なく求めよ。
例 abc のとき
abc
abC
aBC
aBc
ABc
ABC
AbC
Abc

99:デフォルトの名無しさん
13/01/16 00:00:41.77
>>64
>f:=method(n,a:=5 sqrt;2**n-(((1+a)/2)**(n+2)/a)round)

面白そうな言語だが、何故この式でいいのか判らんw
アルゴリズムの勉強が必要かな...

100:デフォルトの名無しさん
13/01/16 06:56:24.27
>>98
URLリンク(ideone.com)

101:片山博文MZパンク ◆0lBZNi.Q7evd
13/01/16 16:01:11.70
>>98 URLリンク(codepad.org)

102:デフォルトの名無しさん
13/01/16 20:01:29.00
>>99
やっていることは maxima でかくと
f(n):=2^n-fib(n+2);

103:デフォルトの名無しさん
13/01/16 21:08:37.17
>>98 Io言語
f:=method(s,n:=s size;a:=s asMutable
for(i,0,2**n-1,g:=i^i/2
for(j,0,n-1,a atPut(j,s at(j)-g at(j)*32))
a println))

Io> f("new")
new
New
NEw
nEw
nEW
NEW
NeW
neW

104:デフォルトの名無しさん
13/01/17 21:23:35.92
>>98 Maxima
f(s):=(n:slength(s),print(s),
g(x):=if x>0 then (g(x-1),s:sinvertcase(s,x,x+1),print(s),g(x-1)),
g(n));

(%i42) f("xyz");
xyz
Xyz
XYz
xYz
xYZ
XYZ
XyZ
xyZ

105:片山博文MZパンク ◆0lBZNi.Q7evd
13/01/17 21:57:47.46
皆優秀だな。俺よりコード短い。
お題:緯度と経度のペアを二つ入力すると直線距離を返すプログラムを書け。

106:デフォルトの名無しさん
13/01/17 22:04:11.77
>>105
・球面沿いの最短距離
・2店間の最短距離(地面貫通)
の2つありますね。

107:片山博文MZパンク ◆0lBZNi.Q7evd
13/01/17 22:10:32.91
じゃあ、球面沿いでお願いします。

108:デフォルトの名無しさん
13/01/17 22:55:18.87
>>105
プログラミングやってるなら知ってて当然のGrayCodeへの写像知ってるか知らないかの差

109:デフォルトの名無しさん
13/01/18 01:24:06.15
>>105
URLリンク(ideone.com)

-- Google map 距離測定ツール ----
東京駅
35.681377 139.766086
アルゼンチンのブエノスアイレス
-34.603722 -58.381595
距離
18383.6 km

-- 当PG ------------------------
地点 1→2の
・球面上の最短距離 = 18321.922334km
・最短距離(地下トンネル) = 12606.789592km

-- 誤差 ------------------------
-0.3355%

110:デフォルトの名無しさん
13/01/18 06:55:19.03
山は貫通しますか?

111:デフォルトの名無しさん
13/01/18 07:20:11.94
>>105 Maxima
f(x1,y1,x2,y2):=(r:%pi/180,
6378.137*acos(sin(y1*r)*sin(y2*r)+cos(y1*r)*cos(y2*r)*cos(x2*r-x1*r)));

(%i60) float(f(139.766086,35.681377,-58.381595,-34.603722));
(%o60) 18383.55983532794

112:109
13/01/18 07:35:58.01
>>111ああ、半径6378.137kmですね。
ちゃんと調べれば良かった…。

直しました。
URLリンク(ideone.com)

113:デフォルトの名無しさん
13/01/18 07:39:27.27
>>110
さだまさしさんの防人の詩の一節ですか?
教えて〜ください。

114:デフォルトの名無しさん
13/01/18 18:22:58.41
誰が地球だと言ったんだ?

115:デフォルトの名無しさん
13/01/18 19:10:22.15
消坊って、そういうの嬉しそうに言うよね。
誰が同じ星の上だと言ったんだ?、くらい無意味だな。

116:デフォルトの名無しさん
13/01/18 23:03:03.69
直線がいつの間にか曲がってる

117:デフォルトの名無しさん
13/01/19 00:07:01.24
誰か、強い重力を放ってるのが居るな。

118:デフォルトの名無しさん
13/01/19 01:39:55.28
>>115 スレタイ
コーディングと見たら、ともかく罵るのが紳士。

119:デフォルトの名無しさん
13/01/19 02:04:14.86
お題:1から100の自然数を順序を問わすべて出力する再現性のある方法を10通り挙げよ。

120:デフォルトの名無しさん
13/01/19 02:08:57.17
>>119  訂正
お題:1から100の自然数を順序を問わずすべて出力する再現性のある方法を10通り挙げよ。

121:デフォルトの名無しさん
13/01/19 06:12:37.59
お風呂に肩まで浸かって百まで数える

122:デフォルトの名無しさん
13/01/19 09:47:30.29
1,2,,,100
2,3,,,100,1

123:デフォルトの名無しさん
13/01/19 12:04:33.35
(1..100).each { println it }

124:片山博文MZボット ◆0lBZNi.Q7evd
13/01/19 13:03:48.55
>>120 #include <stdio.h>
int main(void) {
int i, j;
for(j = 0; j < 10; j++) {
for(i = 1; i <= 100; i++) printf("%d ", (i + j) % 100 + 1);
printf("\n");
}
return 0; }

125:デフォルトの名無しさん
13/01/19 21:54:27.61
>>122-124
全部0点

126:片山博文MZパンク ◆0lBZNi.Q7evd
13/01/19 22:40:04.08
>>125 問題文が言葉足らず。

127:デフォルトの名無しさん
13/01/19 23:11:10.80
1〜100の自然数を適当に取り出す組み合わせは
100の階乗、つまり 9.33262154439e+157 通りあるワケだが、
取り出される数に再現性のある方法を 10通り挙げよ。
という意味だろう。

例えば
 int data[100] = { 1, 2, … 99, 100 };
として、

方法 1. for(i=0; i<100; i++) printf("%d ", data[i]);
方法 2. for(i=a=0; i<100; i++) { printf("%d ", data[a % 100]); a += 3; }
方法 3. for(i=a=0; i<100; i++) { printf("%d ", data[a % 100]); a += 7; }
 …
方法 10. …

みたいな

128:デフォルトの名無しさん
13/01/21 22:00:08.14
お題:与えられた自然数Nの3進数表示が、これを逆に並べ替えた数字の列と一致するかどうか調べ真偽値を返す関数。(2013年センター試験より)

129:デフォルトの名無しさん
13/01/21 23:22:13.66
>>128
n=10
p (w=n.to_s(3))==w.reverse

130:デフォルトの名無しさん
13/01/21 23:34:56.83
#include <stdio.h>

bool func(int n)
{
char s[100];
int i, j;
for (i = 0; n; ++i)
{
s[i] = '0' + n % 3;
n /= 3;
}
for (--i, j = 0; j < i; ++j)
{
if (s[i] != s[j])return 0;
--i;
}
return 1;
}

int main()
{
printf("%d¥n", func(10));
return 0;
}

131:デフォルトの名無しさん
13/01/23 06:40:37.29
お題:array[26]={0,1, ... 25} のような構造の配列が百個ある。これらの配列は、次の規則に従い回転する。

・配列0は、一回の入力で各要素内のデータがひとつずれる(例:a[0] == 0 => a[0] == 1、a[1] == 1 => a[1] == 2)。
・配列1は、配列0が一回転するとき、各要素内のデータがひとつずれる(例:a[0] == 25 => a[0] == 0 のとき、 b[0] == 0 => b[0] == 1)。
・配列2から配列99までも同様に、ひとつ前の配列が一回転するとき、各要素内のデータはひとつずれる。

入力された数値は、これらの配列要素0番目の値をキーとし、排他的論理和で変換されていく(例:value ^= a[0]、value ^= b[0] .... value ^= N[0])
変換に用いる配列の順番は配列0〜99の順とし、各配列は入力数値を変換後に回転するものとする。
また、入力される数値の範囲は0〜255までとする。

上記の関数を作成し、数値 123 を千回入力したときの変換結果を求めよ。

132:131
13/01/23 07:14:17.08
>>131 訂正
上記の関数を作成し、数値 123 を配列99が一回転するまで入力したときの変換結果を求めよ。

133:片山博文MZパンク ◆0lBZNi.Q7evd
13/01/24 00:34:06.50
>>130-131 #include<stdio.h>
int i,j,n,aa[100][26];
int rot(int *a){for(int i=0;i<26;i++){a[i]=(a[i]+1)%26;}return !a[0];}
int f(int n){for(i=0;i<100&&rot(aa[i]);i++);
for(j=0;j<100;j++)n^=aa[j][0];return n;}
int main(void){
for(i=0;i<100;i++)for(j=0;j<26;j++)aa[i][j]=j;
printf("入力せよ:");scanf("%d",&n);
do{n=f(n)}while(i<100);
printf("結果:%d\n",n);
return 0;} 携帯から

134:片山博文MZパンク ◆0lBZNi.Q7evd
13/01/24 00:49:10.84
お題:英単語を改行で区切っただけの辞書ファイルからランダムにクロスワードパズル(の解答データ)
を作成するプログラムを作れ。ただしサイズは25マス×25マス以下に制限する。

135:片山博文MZパンク ◆0lBZNi.Q7evd
13/01/24 01:23:48.51
>>134の続き
英単語は全て大文字とし、ハイフンやアポストロフィは含まないものとする。
同じ単語は2つ以上現れないものとする。
解答データは25×25文字のテキストとする。英字が入らないマスは'#'で表すものとする。

136:デフォルトの名無しさん
13/01/25 01:19:20.38
>>131
URLリンク(codepad.org)

137:136
13/01/25 05:14:59.44
間違ってた orz
>> 131
URLリンク(codepad.org)

138:デフォルトの名無しさん
13/01/25 09:13:01.14
>>131,132
#include <stdio.h>
int main(){
int n = 123;
for (int i = 0; i < 10; ++i)n ^= i;
printf("%d¥n", n);
return 0;
}

実行結果:122

139:デフォルトの名無しさん
13/01/26 01:52:02.07
>>131とか誰か分かりやすく書き換えてくれよ
何度読んでも意味がわからない
みんなよく分かるね

140:デフォルトの名無しさん
13/01/26 02:25:29.69
>>139
車の距離計に置き換えたらわかりやすいんじゃないかな。
>>131を乗用車の 7桁距離計に例えて書き換えると、、、

> お題:array[10]={0,1, ... ,8,9} のような構造の配列が 7個ある。これらの配列は、次の規則に従い回転する。
> ・配列0(100m表示)は、一回の入力で各要素内のデータがひとつずれる
> ・配列1(1km表示)は、配列0が一回転するとき、各要素内のデータがひとつずれる
> ・配列2(10km表示)から配列99までも同様に、ひとつ前の配列が一回転するとき、各要素内のデータはひとつずれる。
> ある入力された数値(value)は、これら 7個の配列要素0番目の値(運転手に見えている数値)をキーとし、
> 排他的論理和で変換されていく(例:value ^= a[0]、value ^= b[0] .... value ^= f[0]、value ^= g[0])
> 変換に用いる配列の順番は配列0〜6の順とし、各配列は入力数値を変換後に回転するものとする。
> また、入力される数値(value)の範囲は0〜255までとする。
> 上記の関数を作成し、数値 123 を千回入力したときの変換結果を求めよ。

ただ、
> 変換に用いる配列の順番は配列0〜6の順とし、各配列は入力数値を変換後に回転するものとする。
が微妙。言葉通りだとすると、変換後は全ての配列が1つ回転するのかな?
それは、速度計で言うと 123456.7km の次は 234567.8kmという事を意味するけどそれで良いのか?
「配列0がひとつ回転する」の 123456.8kmではないのか?

141:140
13/01/26 02:27:59.50
>>140
× > それは、速度計で言うと 123456.7km の次は
○ > それは、距離計で言うと 123456.7km の次は

142:デフォルトの名無しさん
13/01/26 02:32:23.65
「数取器」の方が分かりやすいか。
1度ボタンを押す=1入力

143:デフォルトの名無しさん
13/01/26 08:49:05.25
何となく分かった

144:デフォルトの名無しさん
13/01/26 16:21:09.40
頭悪いんだな

145:デフォルトの名無しさん
13/01/26 18:05:55.94
>>45>>119などにも言えるが、問題としての体をなしていないようなものに対して
漫然と回答してしまう方が頭が悪い

146:デフォルトの名無しさん
13/01/26 18:38:05.09
クイズスレなんだからそこまで厳格でなくてもいいんだよ

147:デフォルトの名無しさん
13/01/26 18:42:42.00
クイズだから厳格でなくてもいいってどういう理屈だよw

148:デフォルトの名無しさん
13/01/26 19:15:02.86
(めんどくせー)

149:片山博文MZパンク ◆0lBZNi.Q7evd
13/01/27 07:15:00.13
難しすぎた? ヒント要る?

150:デフォルトの名無しさん
13/02/02 11:47:47.82
お題:自然数m、nが与えられたとき、mからnの区間にある平方数の個数を求めよ。
(1<m<n<100000000)

151:デフォルトの名無しさん
13/02/02 23:31:11.49
>>150
#include<stdio.h>
#include<math.h>
main(){
int m,n;
scanf("%d %d",&m,&n);
printf("%d\n",(int)sqrt(n)-(int)sqrt(m-1));
}

152:デフォルトの名無しさん
13/02/03 07:46:49.19
お題:正20面体の任意の4つの頂点の座標値が与えられたとき
この多面体のすべての頂点の座標値を出力せよ。
座標値の表現方法、出力順は自由。

153:デフォルトの名無しさん
13/02/04 19:09:02.47
お題:一辺の長さがLの正三角形に内接する円に内接する正三角形の面積を求めよ。

154:デフォルトの名無しさん
13/02/04 20:31:17.57
>>153
#include <stdio.h>
#include <math.h>

int main(void)
{
 double L, s, t, r;

 printf ("正三角形の1辺の長さ : ");
 scanf ("%lf", &L);

 /* 内接円の半径 r */
 s = (L*3)/2;              // ヘロンの公式より
 t = sqrt( s*((s-L)*(s-L)*(s-L)) ); // 三角形の面積
 r = t/s;                // 内接円の半径 r = 内接する三角形の中心から各頂点までの長さ

 /* 半径 r の円に内接する正三角形の面積 */
 s = (3 * r * (r/2) * sqrt(3))/2;

 /* 結果 */
 printf ("一辺が %f cm の正三角形に内接する"
  "半径 %f cmの円に内接する"
  "一辺が %f cmの正三角形の面積は : %f 平方cm", L, r, r, s);

 // 間違ってたら罵ってください
 return 0;
}

155:デフォルトの名無しさん
13/02/05 06:43:29.06
入力の単位分からないのに
結果の単位決まってんだな

156:デフォルトの名無しさん
13/02/05 23:23:25.63
お題:英大文字(A~Z)だけで構成される文字列を、2から始める素数列に対応づけ、暗号化後、復号化せよ。
復号化後の文字がただひとつに決まる(例:23と、2,3を区別)ように、暗号化時に適宜、空白1つを挿入すること。

157:デフォルトの名無しさん
13/02/10 08:57:11.24
お題:48個目のメルセンヌ素数 2^57885161-1 が見つかった。
この数の最後の10桁を求めよ。

158:デフォルトの名無しさん
13/02/10 12:12:11.80
>>157
n=57885161
a=1
n.times{|x|a*=2;a=a%10000000000}
p a-1

実行結果
1724285951
10.19s user 0.02s system 99% cpu 10.310 total

159:デフォルトの名無しさん
13/02/10 14:03:23.52
>>157
#include <stdio.h>

int main(){
long long int n = 1, i;
for (i = 0; i < 57885161; ++i) {
n *= 2;
n %= 10000000000;
}
printf("%lld¥n", n - 1 );
return 0;
}

// time ./a.out
// 1724285951
// ./a.out 0.50s user 0.00s system 98% cpu 0.510 total

160:デフォルトの名無しさん
13/02/10 14:10:26.42
print (2 ** 57885161 - 1) % 10

% python2 hoge.py
1

161:デフォルトの名無しさん
13/02/10 15:25:13.04
>>160
ボケがつまらん

162:デフォルトの名無しさん
13/02/10 16:59:46.76
>>157
dc
2 57885161 10 10 ^ | 1 - p
1724285951

163:デフォルトの名無しさん
13/02/10 18:00:17.75
dcは瞬く間に解が出るな

164:デフォルトの名無しさん
13/02/10 18:53:40.29
dcというのは、なんという名前のプログラミング言語でしょうか?

165:デフォルトの名無しさん
13/02/10 20:00:38.35
>>164
URLリンク(www.linuxcertif.com)

166:デフォルトの名無しさん
13/02/11 07:24:09.83
>>157 Io言語
powerMod := method(a, b, m,
r := 1
for(i, 0, b log2 floor,
if(b at(i) == 1, r = r * a % m)
a = a * a % m
)
r
)

Io> powerMod(2,57885161,10**10)-1
==> 1724285951

167:デフォルトの名無しさん
13/02/11 19:45:02.57
>>157
Clojure
(prn (dec (.modPow (bigint 2) (bigint 57885161) (bigint 10000000000))))

168:デフォルトの名無しさん
13/02/11 23:10:36.72
お題:8桁の整数12345678に下のような操作を100回繰り返してできる整数を求めよ。
操作
左から1,2,3,4,5,6,7,8番目の数字をそれぞれ左から2,4,6,8,1,3,5,7番目に移す。
つまり、ABCDEFGHをEAFBGCHDにする.
(灘中学入試問題より)

169:デフォルトの名無しさん
13/02/11 23:35:12.74
printf("87654321");

170:デフォルトの名無しさん
13/02/12 18:44:34.31
>>168 J言語
a =: "."0": 12345678
b =: /:"."0": 24681357
, ":"0 b&{ ^: 100 a
48372615

171:デフォルトの名無しさん
13/02/13 02:12:33.47
>>169
wwwwwwwwwwwwwwwwwwwwwww

172:デフォルトの名無しさん
13/02/15 01:48:32.23
お題:将棋盤の左下隅からいちばん外側の升目を右回りに N 舛だけ移動したときの
位置 P を求めよ。左下隅、左上隅、右上隅、右下隅をそれぞれ 99、91、11、19 とする。
例 N = 15 のとき P = 21

173:デフォルトの名無しさん
13/02/15 08:25:35.83
暗算出来る算数の問題ばっかり

174:デフォルトの名無しさん
13/02/15 18:11:13.29
>>172 Io言語
f := method(N,
a := 20 - N % 32
g := method(p, (p abs - 3)max(1)min(9) )
g(a) * 10 + g(8 - a)
)

Io> f(15)
==> 21
Io> f(2013)
==> 69

175:デフォルトの名無しさん
13/02/16 00:43:00.03
>>172 J言語
f =: monad def '(32|y){(99-a),(91-10*a),(11+a),19+10*a=.i.8'
f 15
21

176:片山博文MZパンク ◆0lBZNi.Q7evd
13/02/20 17:01:36.84
お題:Webメーラーを作れ。

177:デフォルトの名無しさん
13/02/22 19:51:39.41
お題:標準入力からの入力をそのまま標準出力へ出力するプログラム。

178:デフォルトの名無しさん
13/02/22 19:57:23.28
#include<stdio.h>
int main() {
int ch;
while (EOF != (ch = getchar())) putchar(ch);
return 0;
}

179:デフォルトの名無しさん
13/02/22 22:01:31.45
>>177 Io言語
File standardInput contents print

180:デフォルトの名無しさん
13/02/23 10:43:04.30
>>177
J

stdout stdin ''

181:デフォルトの名無しさん
13/02/23 10:49:24.61
整数(1〜10程度でよい)を入力させ、中心から始まる螺旋状の数列を表示せよ。
例にあるハイフンは調整のためであり、表示は無用とする。

入力例 1:
1
出力例 1:
---5---4---3
---6---1---2
---7---8---9

入力例 2:
2
出力例 2:
--17--16--15--14--13
--18---5---4---3--12
--19---6---1---2--11
--20---7---8---9--10
--21--22--23--24--25

182:デフォルトの名無しさん
13/02/23 16:32:26.69
>>181 J
spiral =: monad define
a=.1 1$1
n=.2
for. i.y do.
R=.|.n+i.{.$a
n=.n+#R
U=.|.n+i.1+#R
n=.n+#U
L=.n+i.#U
n=.n+#L
D=.n+i.1+#L
n=.n+#D
a=.D,~L,.U,a,.R
end.
a
)

spiral 1
5 4 3
6 1 2
7 8 9

183:デフォルトの名無しさん
13/02/23 18:37:02.42
>>177
Lua

io.write(io.read("*a"))

184:片山博文MZパンク ◆0lBZNi.Q7evd
13/02/25 00:29:36.63
お題:英文を入力すると、それに対応する発音記号の列を出力するプログラムを書け。

185:デフォルトの名無しさん
13/02/26 23:26:53.43
自己顕示欲を満たす為だけに

両片山氏

186:デフォルトの名無しさん
13/02/27 13:04:06.23
>>177
lex

%%

187:デフォルトの名無しさん
13/03/02 15:21:58.67
>>181
#include<stdio.h>
#define MAX(x,y)(x>y?x:y)
main(){
int n,x,y;
scanf("%d",&n);
for(y=~n++;++y<n;puts(""))
for(x=-n;++x<n;)printf("%4d",1+MAX(MAX(-MAX(-(4*x*x-x+y),-(4*x*x-3*x-y)),4*y*y+y-x),4*y*y+3*y+x));
}

188:片山博文MZパンク ◆0lBZNi.Q7evd
13/03/10 23:49:53.56
お題:Phusion PassengerをWindowsに移植せよ

189:片山博文MZパンク ◆0lBZNi.Q7evd
13/03/11 00:31:44.34
お題:テキストファイルwords.txtに改行区切りの正しい英単語のリストが記されている。
これを元に入力された英文のスペルチェックを行うプログラムを作れ。
スペルの間違った箇所を{{原文の単語::修正候補1||修正候補2||修正候補3}}のように出力し、その他は原文のまま出力すること。
修正候補は原文の単語のスペルに最も近い3個の単語とする。
英単語はアルファベットとハイフンとアポストロフィで構成されるものとする。
その他のピリオドや空白などの文字はそのまま出力するものとする。

190:デフォルトの名無しさん
13/03/11 00:45:48.30
> 原文の単語のスペルに最も近い

こんなあいまいな仕様でお題とかバカ過ぎ

191:片山博文MZパンク ◆0lBZNi.Q7evd
13/03/11 01:07:23.09
2単語間の距離を次のように定義する。
1)同じ単語なら距離はゼロ。
2)アルファベット1字違うなら距離は1増える。
3)アルファベット1字多いか足りないならなら距離は2増える。
4)ハイフンが1字多いか足りないなら距離は1増える。
5) 2)〜4)の組み合わせなら考えられる組み合わせの最短距離をその単語の距離とする。
???これでいい?

192:片山博文MZパンク ◆0lBZNi.Q7evd
13/03/11 01:23:19.30
あっ、アポストロフィを忘れてた。

2単語間の距離は適当に定義すること。これでいいや

193:デフォルトの名無しさん
13/03/11 01:44:42.56
>>190
もしかしてSEいないとプログラミングできないタイプ?

194:デフォルトの名無しさん
13/03/11 01:48:08.20
アホ SE がいると混乱するので、どっかいってて下さいな

195:片山博文MZパンク ◆0lBZNi.Q7evd
13/03/11 02:34:02.39
>>184
単語ごとに辞書を引いて発音記号を調べて出力するだけじゃん。出題者のばーか

196:デフォルトの名無しさん
13/03/11 07:06:28.14
クソスレ乙w

197:デフォルトの名無しさん
13/03/11 20:58:43.33
大喜利スレなんだから簡単なお題でもいいと思うわけ。

198:片山博文MZパンク ◆0lBZNi.Q7evd
13/03/16 23:26:30.95
お題:与えられた文字列の先頭と終端にある空白文字の並びを取り除く関数を作れ。

199:片山博文MZパンク ◆0lBZNi.Q7evd
13/03/16 23:46:37.41
お題:ある整数が半角数字の文字列で入力された時、それを漢数字表記に変換するプログラムを作れ。

200:片山博文MZパンク ◆0lBZNi.Q7evd
13/03/16 23:48:36.98
お題:逆に漢数字を半角数字に変換するプログラム。

201:デフォルトの名無しさん
13/03/17 11:16:52.48
お題:長辺の長さがA、短辺の長さがBの長方形の紙がある。対角の頂点を重ねて折る。
その折り目の長さを求めよ。

202:デフォルトの名無しさん
13/03/17 12:38:46.20
>>201
#include<stdio.h>
#include<math.h>
main(){
double a,b;
scanf("%lf%lf",&a,&b);
printf("%f",sqrt(b*b+b*b*b*b/a/a));
}

203:デフォルトの名無しさん
13/03/17 19:35:06.70
>>201 Io
f:=method(a,b,(a*a+b*b)sqrt*b/a)

Io> f(4,3)
==> 3.75

204:デフォルトの名無しさん
13/03/18 06:57:14.46
>>198 J
ltrim =: monad def'((''@''=y)i.0)}.y'
rtrim =: ltrim &. |.
trim =: rtrim @ ltrim

'[',(trim '@@@a bc@@'),']'
[a bc]
'[',(ltrim '@@@a bc@@'),']'
[a bc@@]
'[',(rtrim '@@@a bc@@'),']'
[@@@a bc]
実際には空白文字のところを @ にしています。

205:デフォルトの名無しさん
13/03/18 07:29:07.38
>>198 Io
trim:=method(s,
i:=0
j:=s size-1
while(s at(i)==32,i=i+1)
while(s at(j)==32,j=j-1)
s slice(i,j+1)
)

Io> writeln("[",trim("@@a bc@@"),"]")
[a bc]

206:デフォルトの名無しさん
13/03/18 18:16:50.56
>>198 Lua
trim=function(s)return s:match("^%s*(.-)%s*$")end

> print("["..trim("@@@a bc@@@").."]")
[a bc]

207:デフォルトの名無しさん
13/03/19 06:53:43.43
お題:緯度と経度を与えると北方向への角度を返す関数を作成せよ。(画面上方を0度とする)

208:デフォルトの名無しさん
13/03/19 07:28:02.80
画面上方て

209:デフォルトの名無しさん
13/03/19 07:38:01.50
PCディスプレイに、方位・傾きセンサーが必要だな。

210:207
13/03/19 08:03:26.96
コンパス的な関数を想定して、平面座標上での角度・方角という意味で書きたかったのですが・・・
お題になってませんね。日本語むづかしい。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4187日前に更新/61 KB
担当:undef