トップページ⇒tech
22コメント7KB

♪♪Perlの問題に・・・♪♪

■ このスレッドは過去ログ倉庫に格納されています
0001m(^▽^)mNGNG
え〜と、学校でPerlの問題を出されました。
つか、全然わからないんです T_T
誰か教えてください〜

問1 学籍番号の下2桁の数字をabとする(例、学籍番号12345であればa=4, b=5)。
   10a+b+1から10a+b+20までの整数の和を求める。
問2 5つの数字をキー入力すると最大の数を書き出す。

の2問です。おねがいします m(〜_〜)m
0002デフォルトの名無しさんNGNG
教えて君は逝ってよし
end.
0003デフォルトの名無しさんNGNG
終了ですね。
0004デフォルトの名無しさんNGNG
孵れ。
0005m(^▽^)mNGNG
T_T
いや、かなり困ってるんで・・・おねがいします
0006デフォルトの名無しさんNGNG
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
いや、かなり困ってるんで・・・おねがいします
0007デフォルトの名無しさんNGNG
http://piza.2ch.net/test/read.cgi?bbs=tech&key=995533291
0008m(^▽^)mNGNG
教えろっつてんだろ ボケッ
0009デフォルトの名無しさんNGNG
投稿日:2001/07/19(木) 18:08
0010デフォルトの名無しさんNGNG
うぁ、無茶苦茶簡単だ。。。
0011デフォルトの名無しさんNGNG
さぁ、もうすぐ夏休みだ!!!!!!!!!!!!!
プログラム板のみんな気を引き締めろ!!!!!!!!!!!!
0012デフォルトの名無しさんNGNG
>>1
ネタだということがバレバレ
0013デフォルトの名無しさんNGNG
ワラタsage
0014デフォルトの名無しさんNGNG
#!C:\perl\bin\perl -w

use strict;
use English;

MAIN: {
  my $id;
  my $i;
  my $j;
  my $start;
  my $end;
  my $total = 0;

  $id = shift(@ARGV);

  if (not defined($id)) {
    die "Usage: xxx.pl {your_id}\n";
  }

  ($i, $j) = $id =~ m/([0-9])([0-9])$/;

  if (not defined($i) or not defined($j)) {
    die "Invalid format: $id\n";
  }

  $start = 10*$i + $j + 1;
  $end  = 10*$i + $j + 20;

  for (my $k = $start; $k <= $end; $k++) {
    $total += $k;
  }

  print "total: ", $total, "\n";
}
0015デフォルトの名無しさんNGNG
>>14
止めろヴァカ
0016デフォルトの名無しさんNGNG
#!C:\perl\bin\perl -w

use strict;
use English;

MAIN: {
  my @numbers;

  @numbers = @ARGV;

  if (@numbers != 5) {
    die "Usage: xxx.pl {num1} {num2} {num3} {num4} {num5}\n";
  }

  foreach my $num (@numbers) {
    if ($num !~ m/^[0-9]{1}$/) {
      die "Usage: xxx.pl {num1} {num2} {num3} {num4} {num5}\n";
    }
  }

  @numbers = sort({$b <=> $a} @numbers);
  print "number: ", join("", @numbers), "\n";
}
0017デフォルトの名無しさんNGNG
>>16
手抜きすれば1行でかけるのもすごいよな。。。
print "number: ", join("", sort({$b <=> $a} @ARGV)), "\n";
0018デフォルトの名無しさんNGNG
>>17
しかし、それはプロの書くコードではない。
0019デフォルトの名無しさんNGNG
>>18
オレいっつもそんなコードばっかり書いてる。(死
0020デフォルトの名無しさんNGNG
>>14
頭悪いな。等差数列の和の公式くらい使え。

#!C:\perl\bin\perl -w

use strict;
use English;

MAIN: {
  my $id;
  my $i;
  my $j;
  my $start;
  my $d = 1;
  my $n = 20;
  my $total = 0;

  $id = shift(@ARGV);

  if (not defined($id)) {
    die "Usage: xxx.pl {your_id}\n";
  }

  ($i, $j) = $id =~ m/([0-9])([0-9])$/;

  if (not defined($i) or not defined($j)) {
    die "Invalid format: $id\n";
  }

  $start = 10*$i + $j + 1;
  $total = $n * (2*$start + $d*($n - 1)) / 2;

  print "total: ", $total, "\n";
}
0021デフォルトの名無しさんNGNG
>>19
こんなコードか?
print "total: ", substr($ARGV[0], -2)*20+210 ;
0022デフォルトの名無しさんNGNG
答1
@_=@ARGV;if($#_||$_[0]!~s/^.*(\d\d)$/$1*20+210/e){@_="Error";}print"Total: @_";
答2
if(grep(/\D/,@_=sort{$b-$a}@ARGV)||($#_-=4)){@_="Error";}print"Namber: @_";
■ このスレッドは過去ログ倉庫に格納されています