题解

281 条题解

  • 0
    @ 2009-07-26 16:05:52

    var a:string;

    i:integer;

    b:array[1..13] of integer;

    x:integer;

    begin

    read(a);

    for i := 1 to 13 do

    if a[i]='X' then b[i]:=ord(a[i])-78

    else b[i]:=ord(a[i])-48;

    for i := 1 to 11 do

    begin

    if (i=1) then begin

    b[i]:=b[i]*i;

    end;

    if (i=3) or (i=4) or (i=5) then begin

    b[i]:=b[i]*(i-1);

    end;

    if i>6 then b[i]:=b[i]*(i-2);

    end;

    x:=0;

    for i := 1 to 11 do

    x:=x+b[i];

    x:=x-b[2];

    x:=x-b[6];

    x:=x mod 11;

    if x=b[13] then write('Right')

    else begin

    if x=10 then begin

    for i := 1 to 12 do

    write(a[i]);

    write('X');

    end

    else begin

    for i := 1 to 12 do

    write(a[i]);

    write(x);

    end;

    end;

    end.

    I love 水题!

    I love 水题!

    I love 水题!

  • 0
    @ 2009-07-26 11:37:51

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    program ex;

    var s,y:string;

    z:char;

    t,i,x:integer;

    a,b:array[1..10] of integer;

    begin

    read(s);

    t:=pos('-',s);

    delete(s,t,1);

    t:=pos('-',s);

    delete(s,t,1);

    t:=pos('-',s);

    delete(s,t,1);

    t:=0;

    for i:=1 to length(s)-1 do val(s[i],a[i]);

    for i:=1 to length(s)-1 do

    begin

    b[i]:=a[i]*i;

    t:=t+b[i];

    end;

    x:=t mod 11;

    if x=10 then z:='X';

    str(x,y);

    if (y=s[10])and(x10) then begin

    writeln('Right');

    halt;

    end;

    if x=10 then

    if z=s[10] then begin

    writeln('Right');halt;end;

    if (ys[10])and(x10) then

    begin

    write(a[1],'-',a[2],a[3],a[4],'-',a[5],a[6],a[7],a[8],a[9],'-',x);

    halt;

    end;

    if (zs[10])and(x=10) then

    begin

    write(a[1],'-',a[2],a[3],a[4],'-',a[5],a[6],a[7],a[8],a[9],'-',z);

    halt;

    end;

    end.

  • 0
    @ 2009-07-25 11:40:44

    main()

    {

    char a[13];

    int i,sum;

    for(i=1;i

  • 0
    @ 2009-07-24 18:35:17

    var a,b,c,d : integer;

    st,st1:string;

    begin

    read(st);

    st1:=st;

    delete(st,12,1);

    delete(st,6,1);

    delete(st,2,1);

    b:=0;

    c:=0;

    d:=0;

    for a :=1 to 9 do

    begin

    c:=(ord(st[a])-ord(0))*a;

    b:=b + c

    end

    begin

    d:= b mod 11

    end

    if d=(ord(st[13]-ord[0]) then writeln ('right')

    else begin

    st1[13]:=chr(d);

    writeln(st1)

    end

    end.

    错误是Prog64907.pas(17,1) Fatal: Syntax error, ";" expected but "BEGIN" found

    Fatal: Compilation aborted

    大家帮看下怎么办啊

  • 0
    @ 2009-07-23 20:51:10

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    程序超短,第一次50分没AC,原来忘记把10换成X了......

    ~~~~(>_

  • 0
    @ 2009-07-22 11:25:17

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    郁闷 (╰_╯)#

    水题都要提交第二次才AC

    原来是当编码错误的时候 我输出了10 忘了转换成 X

    ---|---|---|---|---|---|---|---|---|---|---|---|-晒最原始的程序---|---|---|---|---|--

    program p1484;

    var i,ans,n:longint;

    a:array[0..9]of longint;

    ch:char;

    begin

    i:=0;

    repeat

    read(ch);

    if ch'-' then

    begin

    inc(i);

    a[i]:=ord(ch)-ord('0');

    end;

    until i=9;

    read(ch); readln(ch);

    if ch='X' then n:=10

    else n:=ord(ch)-ord('0');

    ans:=0;

    for i:=1 to 9 do ans:=ans+a[i]*i;

    ans:=ans mod 11;

    if ans=n then writeln('Right')

    else begin

    write(a[1]);

    write('-');

    for i:=2 to 4 do write(a[i]);

    write('-');

    for i:=5 to 9 do write(a[i]);

    write('-');

    if ans=10 then writeln('X')

    else writeln(ans);

    end;

    end.

  • 0
    @ 2009-07-21 09:37:07

    晕····没看到还有X

  • 0
    @ 2009-07-19 16:48:26

    编译通过...

    ├ 测试数据 01:答案错误...程序输出比正确答案长

    ├ 测试数据 02:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 03:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 06:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 09:答案错误... ├ 标准行输出

     ├ 错误行输出

    ├ 测试数据 10:答案错误... ├ 标准行输出

     ├ 错误行输出

    ---|---|---|---|---|---|---|---|-

    Unaccepted 有效得分:20 有效耗时:0ms

    program ex1;

    var i,a,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10:integer;

    b:string;

    begin

    read(b);

    val(b[1],a1); val(b[3],a2); val(b[4],a3);

    val(b[5],a4); val(b[7],a5); val(b[8],a6);

    val(b[9],a7); val(b[10],a8); val(b[11],a9);

    i:=a1*1+a2*2+a3*3+a4*4+a5*5+a6*6+a7*7+a8*8+a9*9;

    if(a

  • 0
    @ 2009-07-27 15:06:32

    var a,d,e:string;

    b,c,sum:integer;

    tmp:char;

    begin

    readln(a);

    e:=a;

    delete(a,2,1);

    delete(a,5,1);

    delete(a,10,1);

    sum:=0;

    for b:=1 to 9 do

    begin

    val(a[ b ],c);

    sum:=sum+c*b;

    end;

    sum:=sum mod 11;

    if sum=10 then tmp:='X'

    else

    begin

    str(sum,d);

    tmp:=d[1];

    end;

    if tmp=a[10] then write('Right')

    else

    begin

    for b:=1 to 12 do

    write(e[ b ]);

    write(tmp);

    end;

    end.

  • 0
    @ 2009-07-16 12:36:10

    编译通过...

    ├ 测试数据 01:答案错误... ├ 标准行输出 Right

     ├ 错误行输出 Right

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Unaccepted 有效得分:90 有效耗时:0ms

    为什么这样对待我?

  • 0
    @ 2009-07-16 09:28:23

    program isbn;

    var i,j,k,ans:longint;

    s:string;

    ch:char;

    begin

    readln(s);

    j:=0;

    i:=1;

    ans:=0;

    while j

  • 0
    @ 2009-07-03 15:38:04

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    var a:array [0..1148] of integer;

    s:string;

    sum,s1,i,j,k:integer;

    begin

    readln(s);

    s1:=length(s);

    j:=0;

    for i:=1 to s1 do

    if s[i]'-' then begin inc(j);a[j]:=ord(s[i])-48 ; end;

    for i:=1 to j-1 do

    a[0]:=a[i]*i+a[0];

    if (a[0] mod 11=a[j]) or (a[0] mod 11=10) and (s[s1]='X') then write('Right')

    else if a[0] mod 11 10 then

    begin for i:=1 to s1-1 do write(s[i]);

    write(chr(a[0]mod 11+48));

    end

    else begin for i:=1 to s1-1 do write(s[i]);

    write('X');

    end

    end.

    SO easy!!!!

  • 0
    @ 2009-07-02 10:09:38

    只要是我会做的题,都是水题。。

    #include "iostream.h"

    char isbn[12];

    int last,total;

    int i;

    char vali;

    int main(){

    cin >> isbn;

    total=total+(isbn[0]-48)*1;

    total=total+(isbn[2]-48)*2;

    total=total+(isbn[3]-48)*3;

    total=total+(isbn[4]-48)*4;

    total=total+(isbn[6]-48)*5;

    total=total+(isbn[7]-48)*6;

    total=total+(isbn[8]-48)*7;

    total=total+(isbn[9]-48)*8;

    total=total+(isbn[10]-48)*9;

    if (total%11==10) {vali='X';}

    else {vali=total%11+'0';}

    if (isbn[12]==vali){cout

  • 0
    @ 2009-06-28 12:25:25

    #include

    using namespace std;

    int main()

    {

    char a[13];

    cin>>a;

    char b[11]={'0','1','2','3','4','5','6','7','8','9','X'};

    int k=0;

    int s=0;

    int yu;

    for (int i=0;i

  • 0
    @ 2009-06-27 08:31:08

    program op;

    var t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t,a,i:longint;

    s:string;

    begin

    readln(s);

    for i :=1 to length(s) do

    val(s[1],t1); val(s[3],t2); val(s[4],t3); val(s[5],t4); val(s[7],t5);

    val(s[8],t6); val(s[9],t7); val(s[10],t8); val(s[11],t9);

    t:=t1*1+t2*2+t3*3+t4*4+t5*5+t6*6+t7*7+t8*8+t9*9;

    a:=t mod 11;

    if a

  • 0
    @ 2009-06-20 23:02:47

    var

    st,st1:string;

    i,k:integer;

    z:longint;

    begin

    read(st);st1:=st;

    delete(st,12,1);

    delete(st,6,1);

    delete(st,2,1);

    for i:=1 to 9 do z:=z+(ord(st[i])-48)*i;

    z:=z mod 11;

    if z=10 then begin if st1[13]='X' then write('Right') else

    begin

    delete(st1,13,1);

    insert('X',st1,13);

    write(st1);

    end;

    end

    else begin if st1[13]=chr(z+48) then write('Right') else

    begin

    delete(st1,13,1);

    insert(chr(z+48),st1,13);

    write(st1);

    end;

    end;

    end.

  • 0
    @ 2009-06-15 20:01:12

    var

    i,a,m:longint;

    s,s1:string;

    begin

    readln(s);s1:=copy(s,1,12);

    delete(s,2,1);

    delete(s,5,1);

    for i:=1 to 9 do

    begin

    if s[1]'X' then

    begin

    a:=0;val(s[1],a);

    end

    else a:=10;

    m:=a*i+m;delete(s,1,1);

    end;

    a:=0;val(s[2],a);

    if s[2]='X' then a:=10;

    m:=m mod 11;

    if a=m then writeln('Right')

    else

    if m10 then writeln(s1,m)

    else writeln(s1,'X');

    end.

  • 0
    @ 2009-05-30 19:57:22

    var

    s,i,j:integer;

    str:string;

    a:array[1..20]of integer;

    procedure doit(c:char);

    var

    b:integer;

    begin

    case c of

    '0':b:=0;

    '1':b:=1;

    '2':b:=2;

    '3':b:=3;

    '4':b:=4;

    '5':b:=5;

    '6':b:=6;

    '7':b:=7;

    '8':b:=8;

    '9':b:=9;

    end;

    inc(j);

    a[j]:=b;

    end;

    begin

    readln(str);

    j:=0;

    for i:=1 to 12 do

    if str[i]'-' then

    doit(str[i]);

    for i:=1 to j do

    s:=s+a[i]*i;

    s:=s mod 11;

    if s10 then

    begin

    if s=ord(str[13])-48 then write('Right')

    else begin

    for i:=1 to 12 do

    write(str[i]);

    write(s);

    end;

    end

    else if str[13]='X' then write('Right')

    else begin

    for i:=1 to 12 do

    write(str[i]);

    write('X');

    end;

    end.

    秒杀

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2009-05-22 18:32:13

    var

    i,sum:integer;

    ch:char;

    s:array [1..9] of integer;

    str:string;

    begin

    sum:=0;

    readln(str);

    s[1]:=ord(str[1])-48;

    s[2]:=ord(str[3])-48;

    s[3]:=ord(str[4])-48;

    s[4]:=ord(str[5])-48;

    s[5]:=ord(str[7])-48;

    s[6]:=ord(str[8])-48;

    s[7]:=ord(str[9])-48;

    s[8]:=ord(str[10])-48;

    s[9]:=ord(str[11])-48;

    for i:=1 to 9 do sum:=sum+s[i]*i;

    sum:=sum mod 11;

    if sum10 then ch:=chr(sum+48) else ch:='X';

    if ch=str[13]

    then writeln('Right')

    else

    begin

    str[13]:=ch;

    writeln(str);

    end;

    end.

  • 0
    @ 2009-05-11 20:13:25

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    #include

    using namespace std;

    int main () {

    char isbn[15];

    cin>>isbn;

    short s=short(isbn[0]-'0'),i;

    s+=short(isbn[2]-'0')*2+short(isbn[3]-'0')*3+short(isbn[4]-'0')*4;

    for (i=6;i

信息

ID
1484
难度
5
分类
字符串 点击显示
标签
递交数
14462
已通过
4955
通过率
34%
被复制
33
上传者