X



java独学のワイ、素数判定プログラムが書けない
■ このスレッドは過去ログ倉庫に格納されています
0001仕様書無しさん
垢版 |
2018/07/13(金) 18:20:24.06
JavaDriveというサイトでFor文まで理解するも書けない模様

ワイにプログラマーの資格はないんか?
0002仕様書無しさん
垢版 |
2018/07/13(金) 18:20:50.72
FizzBuzzは書けた
0003仕様書無しさん
垢版 |
2018/07/13(金) 18:56:12.28
資格はともかく才能も適正もない。

資格はともかくというのは全く無能のくせに丸暗記でJava Bronzeを取った人がいる前例があるから、
資格だけなら取れるかもしれない。
正直for文くらい直感でわからないようではプログラマーの適正は皆無。
0004仕様書無しさん
垢版 |
2018/07/13(金) 19:10:30.58
頭で理解しただけで書けるわけないだろ
学校のテストじゃねえんだよ
0005仕様書無しさん
垢版 |
2018/07/13(金) 19:34:45.05
片っ端から割れるか試すだけっしょ
for文で余裕じゃん
0006仕様書無しさん
垢版 |
2018/07/13(金) 19:37:16.04
小さい数字ならいいけどハチャメチャデカイ数字だとめっちゃ時間かかりそう
0007仕様書無しさん
垢版 |
2018/07/13(金) 21:28:00.20
>>3
じゃあほとんどの奴がプログラマーになれないな

>>5
どんな風に?
0008仕様書無しさん
垢版 |
2018/07/13(金) 21:38:25.19
どんな風にも何も・・・

for(i=2;i<入力値;i++){
if((入力値 % i == 0 ){print("素数じゃない");exit(0);}
}
print("素数だよ");

こんだけじゃないの?0,1は素数じゃないよってif文がもう一個あれば。
これくらいは3分で直感でやらんと・・・これが合ってるかしらんけどw
0009仕様書無しさん
垢版 |
2018/07/13(金) 21:39:52.87
求人で「未経験からプロのエンジニア」とあるけど、
ワイにもできるか心配だわ
0010仕様書無しさん
垢版 |
2018/07/13(金) 21:41:02.32
>>8
exitってなんや?
0011仕様書無しさん
垢版 |
2018/07/13(金) 21:42:45.65
javaだとSystem.exit()。俺はjavaを知らんけど、その辺もググってさっと変換できるセンスはプログラマには必要だと思うぞw
0013仕様書無しさん
垢版 |
2018/07/13(金) 21:51:21.06
>>11 ほーなんやな〜

int n = 100;
for(int i = 2; i<n; i++){
for(int a = 2; a<i; a++){
if(i%a == 0){
System.out.println(i + "は素数でない");
}else if{
System.out.println(i + "は素数");

ここまで来てるんやけど、
iに対してaがi>aを満たすまで全部の数表示されるから困ってる。
0014仕様書無しさん
垢版 |
2018/07/13(金) 21:53:36.63
>>13
2回目の条件分岐はelseのみだった
0015仕様書無しさん
垢版 |
2018/07/13(金) 21:58:32.79
>>13
ネスト多分必要ないぞ?>>8見てや。こんだけでいい(多分)。えらいややこしいことになってない?w
俺が即興で思いつたのじゃ動かんけ?
0016仕様書無しさん
垢版 |
2018/07/13(金) 22:05:53.65
>>15
動かんけ
0017仕様書無しさん
垢版 |
2018/07/13(金) 22:10:48.44
めんどかったけどpaizaで試したら動くやんけw
まさかとは思うが>>8をそのままコピペして動かんと言ってる訳じゃなかろうな?
0018仕様書無しさん
垢版 |
2018/07/13(金) 22:13:57.49
>>変数は入力したけど動かへん
0020仕様書無しさん
垢版 |
2018/07/13(金) 22:19:32.04
いいか?>>8は別にjavaで動かすように書かれてる訳じゃないからな?単に「流れ」だからw
>>8をjavaで動くように色々変えて、最後に入力値が2未満なら素数じゃないと表示させる条件を加えなさい。

それすら無理なら確実にプログラマは無理だw
0021仕様書無しさん
垢版 |
2018/07/13(金) 22:20:04.01
何がわからないのかがわからない
0023仕様書無しさん
垢版 |
2018/07/13(金) 22:25:20.96
>>13
nまでの素数を表示するためにi回インクリを繰り返すんやが、
二回目のFor文は iに対してiまでの自然数で検算しようと思ったんや。
a回繰り返してな。

その結果、iがaまでの自然数全てで割られるんやが、
一つのiに対してa個全て割る過程が表示されてしまうんや。

そこが問題
0024仕様書無しさん
垢版 |
2018/07/13(金) 22:31:29.10
検算の過程が表示されてしまうからそれを省略したい。
iまでのaで全て検算した結果、「そのiは素数」と表示したいんや。
0026仕様書無しさん
垢版 |
2018/07/13(金) 22:35:15.83
>>25
0027仕様書無しさん
垢版 |
2018/07/13(金) 22:36:13.76
そらfor文の中にprint書いてりゃ表示されるわな
書かなければええんちゃうん?w

どうも俺に彼の問題を解決するのは無理のようだ・・・
0028仕様書無しさん
垢版 |
2018/07/13(金) 22:40:09.67
こう見えても明治卒やで

一応IT系に内定を貰ってるから軽く勉強のつもりが池沼やったんなや〜
びっくりや

ってことでコピペグラ―になるわ!
ほなっ!
0029仕様書無しさん
垢版 |
2018/07/13(金) 22:42:24.67
結局のところ、何かの真似をしているだけで自分で何やってるかすら
理解してないんだろ?
プログラマー目指すなんて言っておきながら、その程度の労力すら
惜しんでスレ立てて人に聞いてるとか、嗤わせるにもほどがある
0030仕様書無しさん
垢版 |
2018/07/13(金) 22:43:58.41
>>29
全部自分で考えてるし、真似はしてない
FizzBuzzは簡単やったのにどうしてかな〜
0031仕様書無しさん
垢版 |
2018/07/13(金) 22:43:59.19
明治卒うせやんwww
I地頭はあるんだろうから必死で勉強しぃやw
今のレベルじゃすぐに営業に配置転換ぞw
0032仕様書無しさん
垢版 |
2018/07/13(金) 22:45:18.25
>>31
嘘やで通信高卒や
0033仕様書無しさん
垢版 |
2018/07/13(金) 22:45:21.72
public class Main {
 public static void main(String[] args) {
  int n = 100;
  for (int i = 2; i < n; i++) {
   boolean ok = true;
   for (int j = 2; j < i; j++) {
    if (i % j == 0) {
     ok = false;
    }
   }
   if (ok) {
    System.out.println(i + "は素数");
   } else {
    System.out.println(i + "は素数ではない");
   }
  }
 }
}
0034仕様書無しさん
垢版 |
2018/07/13(金) 22:45:29.07
学部ならともかく学校とプログラマーの適正に因果関係があると思っているなら
正真正銘の知障なので診察受けたほうがいい。
この板の有名荒らしの36歳みたいになるぞ。
36歳も大卒大卒アピールするだけで何にもできない人間のクズだった。
0036仕様書無しさん
垢版 |
2018/07/13(金) 22:49:29.69
>>35
すまんな、ただ教えてほしかっただけなんや
プログラム楽しいからさ
0037仕様書無しさん
垢版 |
2018/07/13(金) 22:52:26.64
関西の豪雨で水に流されるのはワイの方が良かったんやな〜
0038仕様書無しさん
垢版 |
2018/07/13(金) 22:59:52.53
もしかして落ち込むふりして同情でも買おうとしているつもりなの?
それで来年から社会人?
来年新中学生の間違いじゃないの?
0040仕様書無しさん
垢版 |
2018/07/13(金) 23:17:05.26
発達障害は精神が幼いって意味じゃない
生半可な知識でマウントに使うなよ
0041仕様書無しさん
垢版 |
2018/07/13(金) 23:20:50.63
>>5
public static void main(String[] args) {
 for (int i = 0; i < 100; i++) {
  if (isPrime(i)) {
   System.out.println(i);
  }
 }
}

static boolean isPrime(int n) {
 if (n < 2) {
  return false;
 }
 for (int i = 2; i < n; i++) {
  if (n % i == 0) {
   return false;
  }
 }
 return true;
}
0042 ◆BrBq2CJg6HGd
垢版 |
2018/07/14(土) 00:42:30.34
失礼します。
私も触発されて、FizzBuzzのコードをコメント付きで書いてみました。
https://ideone.com/McsJKW
よろしければ、スレ主さんのFizzBuzzのコードもアップして貰えませんか?
0044仕様書無しさん
垢版 |
2018/07/14(土) 06:42:41.79
>>42

for(int a = 1; a<101; a++){
if(a%3 == 0){
System.put.println("Fizz");
}else if(a%5 == 0){
System.put.println("Buzz");
}else if(a%3 == 0 && a%5 == 0){
System.put.println("FizzBuzz");
}else{
System.put.println(a);
}
}

どうかな?
0045仕様書無しさん
垢版 |
2018/07/14(土) 07:12:18.46
>>42
java初めて数か月も経ってないけど、
ワイは論理を変換する能力がないから詰んでるのかなぁ
0046仕様書無しさん
垢版 |
2018/07/14(土) 10:16:18.43
>>42
7で割り切れるときはHamuと出力してください
0047 ◆BrBq2CJg6HGd
垢版 |
2018/07/14(土) 12:25:28.65
>>44
ありがとうございます。
>>43が言うように、俺はそれほどプログラムに習熟していませんが、
僭越ながら指摘させて頂きます。
あなたのコードだと、始めに3の倍数を全て抽出してしまうので、
3の倍数でかつ5の倍数(15など)が全てFizzBuzzではなくFizzとして
出力されてしまいます。これは5の倍数についても同じことが言えます。
そこでまず3の倍数かつ5の倍数を切り出し、それから3の倍数や5の倍数を
表示するとよいと思います。
0049仕様書無しさん
垢版 |
2018/07/14(土) 12:38:00.46
>>47
調べりゃすぐ出てくることをよくそんな偉そうと無駄に長く言えるなw
0050 ◆BrBq2CJg6HGd
垢版 |
2018/07/14(土) 12:41:17.77
>>45
多分、練習によるものが大きいと思います。

俺の場合、当初は(C言語ですが)ポインタや構造体でつまずいていましたが、
今ではオブジェクト指向も理解できるようになりました。
学習方法や学習時間で伸び方は変わってくると思います。
0051仕様書無しさん
垢版 |
2018/07/14(土) 12:46:26.20
>>50
オブジェクト指向はどういうものか簡潔に説明してみて
0053仕様書無しさん
垢版 |
2018/07/14(土) 13:37:41.37
マウント取りたくてしょうがないって感じのレスだな
0055仕様書無しさん
垢版 |
2018/07/14(土) 13:48:29.47
>>47
else if なら順不同でしょ?
elseのみならともかく

100までの「i」がif文によって上の条件式を満たす形で置き換わっていく。
という風に捉えてるけど。

cmdで走らせてみたけど最初に3の倍数全ては表示されないよ。

for(int a = 1;a<101;a++){
if(a%3 == 0){
System.out.println("Fizz");
}else if(a%5 == 0){
System.out.println("Buzz");
}else if(a%5 == 0 && a%3 == 0){
System.out.println("FizzBuzz");
}else if(a%7 == 0){
System.out.println("Hamu");
}else{
System.out.println(i);

※Hamu付き
0056仕様書無しさん
垢版 |
2018/07/14(土) 13:51:06.21
あー そうやったんや〜

確かにFizzBuzz出てこんわ
0057仕様書無しさん
垢版 |
2018/07/14(土) 13:52:41.86
>>47
なったで

for(int a = 1;a<101;a++){
if(a%5 == 0 && a%3 == 0){
System.out.println("FizzBuzz");
}else if(a%5 == 0){
System.out.println("Buzz");
}else if(a%3 == 0){
System.out.println("Fizz");
}else if(a%7 == 0){
System.out.println("Hamu");
}else{
System.out.println(a);
0059仕様書無しさん
垢版 |
2018/07/14(土) 14:02:53.71
>>57
if、else ifはどれか一つでもtrueになるとそのブロック内しか通らない
だから優先的に判定したい条件は先に書かないといけない
ちなみに>>57のコードだと5や3の倍数かつ7の倍数が考慮漏れしてるね
0060仕様書無しさん
垢版 |
2018/07/14(土) 14:04:36.95
>>58
自分で書いたもの以外のコピペはしてないで

条件式が一つで後にほぼ同じ抽出内容の複数条件式を持つ分岐が控えている場合
先に複数の方を書かんと、先にある一つの条件式を先に満たしてしまって
そこで抜けてまうのか

>>47 感謝やで
0061仕様書無しさん
垢版 |
2018/07/14(土) 14:06:28.22
>>59 ほんとやわ

少し考えるわ
0062仕様書無しさん
垢版 |
2018/07/14(土) 14:12:26.69
>>59 考えたんやけど
条件式が優先されるから仕方ないんちゃう?
0063仕様書無しさん
垢版 |
2018/07/14(土) 14:14:19.52
>>59
組み合わせか?
0064仕様書無しさん
垢版 |
2018/07/14(土) 14:14:56.11
>>61
バグってこういう些細なことで生まれるからね
自分の書いたコードが要求や仕様を満たしてるか見直してみるといいと思うよ
0065仕様書無しさん
垢版 |
2018/07/14(土) 14:21:42.11
>>64
直してみたで!

for (int a = 1;a<101;a++){
if(a%3 == 0 && a%5 == 0 && a%7 == 0){
System.out.println("横山やすし");
}else if(a%3 == 0 && a%5 == 0){
System.out.println("FizzBuzz");
}else if(a%3 == 0 && a%7 == 0){
System.out.println("おっぱい");
}else if(a%5 == 0 && a%7 == 0){
System.out.println("焦げたおっぱい");
}else if(a%5 == 0){
System.out.println("Buzz");
}else if(a%3 == 0){
System.out.println("Fizz");
}else if(a%7 == 0){
System.out.println("Hamu");
}else{
System.out.println(a);
0066仕様書無しさん
垢版 |
2018/07/14(土) 14:23:23.70
組み合わせでいいんじゃね?と思いついたから
手当たり次第に作ってみた
0067仕様書無しさん
垢版 |
2018/07/14(土) 14:23:36.35
>>62
5と3で出来ていることを7も追加してやるだけ
しかしこれではひとつ条件が増えると大量の書き直しが発生してしまうことに気づいたら次は拡張性を考える
0068仕様書無しさん
垢版 |
2018/07/14(土) 14:55:55.45
>>65
上の条件式の方を通り抜けてしまうなら、
条件同士をくっつけちまえばいいんやない?

3,5,7の倍数は一つの条件式で表示できるし、
複数の共通倍数だったら、包括してしまえばいいんだし
0069仕様書無しさん
垢版 |
2018/07/14(土) 14:58:15.79
def a(x):
if x%2==0:
print('偶然')
elif x%3==0:
print('奇数')


for i in range(1.11):
a(i)
0070仕様書無しさん
垢版 |
2018/07/14(土) 14:59:30.54
nao,
2 or 3=15
0071仕様書無しさん
垢版 |
2018/07/14(土) 15:01:55.17
>>69
>>70
for i in range(1.11):
a(i)

これはなんや??
0072仕様書無しさん
垢版 |
2018/07/14(土) 15:07:52.59
従って、
for
for
if ?==0
0073仕様書無しさん
垢版 |
2018/07/14(土) 15:29:35.32
>>1

ない。
迷惑だからプログラマにならないで欲しい。
0074仕様書無しさん
垢版 |
2018/07/14(土) 15:35:00.26
>>73
実際For文まで勉強して解ける人は何人くらいおるんやろなぁ
0075仕様書無しさん
垢版 |
2018/07/14(土) 15:39:02.73
見える、未来が見える
>>1が高学歴であるがゆえに根拠なく自分の能力を信じて
電卓ソフトを作ったあたりで満足してSEやPMにシフトし
むちゃくちゃな設計を末端に押し付けて責任転嫁する未来が…
0076仕様書無しさん
垢版 |
2018/07/14(土) 16:25:52.79
>>60
if 無しで書きましょう
0077仕様書無しさん
垢版 |
2018/07/14(土) 18:10:43.63
>>75
哭きの竜のネタ?
こんなのがSEになる時点で終わりやん・・・
0079 ◆BrBq2CJg6HGd
垢版 |
2018/07/14(土) 19:12:59.68
たびたび失礼します。
スレ主さんに、助言が伝わったみたいで良かったです。
素数判定の方は、for文の知識に加え、break文・continue文・フラグの内
いくつかの知識が必要になると思うので、もし未習ならググることをお勧めします。
出しゃばりみたいで恐縮ですが、俺も素数判定のコードをコメント付きで
書いてみましたので、よろしければ参照下さい。
https://ideone.com/ITtLsp
0080仕様書無しさん
垢版 |
2018/07/14(土) 19:26:41.60
>>79
お前それじゃ遅いからって高速化の方法教えてもらってただろうが
何にも身についてないのかよ
0081仕様書無しさん
垢版 |
2018/07/14(土) 19:47:23.88
>>77
何を言っているんだ?
PG上がりのSEが世の中を支え、SE業を邁進してきたゴミクズが会社で弄ぶ
日本のSIerの多重下請け構造そのものじゃないかw

スレ主に適性はないので、半端な知識を身に付けないで
管理系のスキルを磨くことをお勧めする
「現場を知るため」以上の目的でプログラミングにのめりこまないほうがいい
プログラミングができない無能は管理に回され昇進する、これが日本の常識
出世したいなら人を使う能力を磨くことだ
プログラマーなんてどの会社でも40くらいでおしまいだよ
下手すりゃ管理職候補にすらなれずリストラ対象
0082仕様書無しさん
垢版 |
2018/07/14(土) 20:20:28.33
スレ主だけど、if文とFor文しかやってない
これだけの知識で任意の数まで素数を判定していく事ができるか否かで
適正って決まるもんなんか?
0083仕様書無しさん
垢版 |
2018/07/14(土) 20:38:05.06
>>82
決まらないよ
知ってるかどうかだからね
0から考えて実装してる人なんてそうはいない
0084仕様書無しさん
垢版 |
2018/07/14(土) 20:39:39.73
>>82
就活でプログラマの適性検査受けなかった?
とても簡単な問題で適性がA〜Eで判定されるよ。
プログラマの適性に知っている言語の知識なんて関係ないよ。
0085仕様書無しさん
垢版 |
2018/07/14(土) 20:40:06.44
>>83
え?みんな0から考えてるんじゃないの?
PGは0からコードを書いて、機能を作るもんだと思ってた
0086仕様書無しさん
垢版 |
2018/07/14(土) 20:41:17.65
>>84
就活してない
ただネットのプログラマー適正試験を受けた事はある。
CAB?だけは出来なかった
0087仕様書無しさん
垢版 |
2018/07/14(土) 20:42:28.33
>>82
Javaの適性ならともかく、プログラミングの職業適性となると
問題解決の筋道そのものが適性の評価対象だから、
こんなところで質問しちゃう時点で適性ゼロじゃないかなw
0088仕様書無しさん
垢版 |
2018/07/14(土) 20:42:33.33
>>79
素数の出力はもっと簡単で効率の良いやり方があるよ

boolean[] p = new boolean[100];
for (int i = 2; i < p.length; i++) {
 if (p[i]) continue;
 for (int j = 2; i * j < p.length; j++) p[i * j] = true;
 System.out.println(i);
}
0089仕様書無しさん
垢版 |
2018/07/14(土) 20:43:04.12
>>85
こんなことできた気がするなーでググるよ
0090仕様書無しさん
垢版 |
2018/07/14(土) 20:43:21.61
>>86
>ただネットのプログラマー適正試験を受けた事はある。

結果はどうだったの?
0091仕様書無しさん
垢版 |
2018/07/14(土) 20:45:57.08
素数判定で2の倍数を真面目に判定しているロジックは
それだけで評価に値しない。
FizzBuzzをまともに答えているのと同じ。
0092仕様書無しさん
垢版 |
2018/07/14(土) 20:48:07.10
>>89 それコピペグラ―やん
でも効率は良いよね

>>90 どんなサイトのテストを受けたのかにもよるけども、
http://www.beafoster-hd.co.jp/aptitude-test ←ここは簡単で満点

他は受けてないからこれからって結果張ろうかな
0093仕様書無しさん
垢版 |
2018/07/14(土) 20:50:05.44
>>92
コピペするわけじゃなくて調べるっしょ
ゼロから全部自分で考えるのは効率悪いよ
0094仕様書無しさん
垢版 |
2018/07/14(土) 20:50:56.67
>>87 今からその姿勢を直せばいいんでないの?
>>91 if文とFor文の知識だけだと真面目にやるしかない気がする
0095仕様書無しさん
垢版 |
2018/07/14(土) 20:52:35.70
ifは小文字なのにforのFだけ大文字なの何なの?
超気持ち悪いんだけど自分で気持ち悪いとは思わないの?
0096仕様書無しさん
垢版 |
2018/07/14(土) 20:54:32.16
>>95 無意識にやってた。何か気持ち悪いわ
0098仕様書無しさん
垢版 |
2018/07/14(土) 20:55:42.84
>>94
20過ぎた人間が簡単に矯正出来たら苦労ないわ。
だから適性で弾くんだよ。
この先矯正できるかどうかなんて関係ない。
矯正して金にならない適性ないPGやる暇あるなら
営業でも管理でも適性がありそうなのを覚えろ、って
いうのが企業。
0099仕様書無しさん
垢版 |
2018/07/14(土) 20:56:46.56
>>98
そうでもないかと
ちゃんと教育する会社がまともな会社ですよん
0100仕様書無しさん
垢版 |
2018/07/14(土) 20:59:10.78
適性が身に付くならいいけど、半端に適性がある振りが通ってしまって
本当は適性がないのに新人研修で評価されてしまってPGに就いたら、
それこそ悲惨な人生なんだが、その辺わかってるのかな。
今までやってきてなかったってことは別にPGが好きなわけでもないんだろ?
好きでPGになった奴でさえ追い込まれて自殺する世界に、適性がない、
もしくはありたいと願う奴が入ったらどうなるか。
それを心配してるんだよ。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況