回 帖 发 新 帖 刷新版面

主题:[讨论]帮忙解释2个题目

帮忙解释2个题目:
⑴program program4;
var c: array[1..3] of string[200];
    s: array[1..10] of integer;
    m, n, i: integer;
procedure numara;
var cod: boolean;
     i, j, nr: integer;
begin
    for j := 1 to n do begin
        nr := 0; cod := true;
        for i := 1 to m do
            if c[i, j] = '1' then begin
                if not cod then begin
                    cod := true; inc(s[nr]); nr := 0;
                end
            end
            else begin
                if cod then begin
                    nr := 1; cod := false;
                end
                else inc(nr);
            end;
        if not cod then inc(s[nr]);
    end;
end;
begin
    readln(m, n);
    for i := 1 to m do readln(c[i]);
    numara;
    for i := 1 to m do
        if s[i] <> 0 then write(i, ' ', s[i], ' ');
end.
输入:
3 10
1110000111 
1100001111
1000000011
输出:             

⑵program program4;
const
    u: array[0..2] of integer = (1,-3,2);
    v: array[0..1] of integer = (-2,3);
var
    i, n, sum: integer;
function g(n: integer): integer
var i, sum: integer;
begin
    sum :=0;
    for i := 1 to n do inc(sum, u[i mod 3]*i);
    g := sum;
end;
begin
    sum := 0;
    read(n);
    for i := 1 to n do inc(sum, v[i mod 2] * g(i))
    writeln(sum);
end.
输入: 103
输出?


求详细过程,感谢

回复列表 (共5个回复)

沙发

中午给答案

板凳

1.1 4 2 1 3 3
2.-400

3 楼

第一个程序是统计连续0的个数
就是说竖着数连续数一个0,两个0,三个0.....的情况各有多少次
如3 10
1111111111
1111111111
1011111101
只有连续一个0的情况两次
3 10
1111111111
0111110101
1010110011
连续1个0有4次,连续两个0有一次
必须是竖着数
另外说一点这个程序太复杂了,完全有更好的方法,想想看

4 楼

g函数对于N(1..30)的取值的函数值如下,可以分析一下有没有规律
1-->-3/2-->1/3-->4/4-->-8/5-->2/6-->8/7-->-13/8-->3/9-->12/10-->-18/11-->4/12-->16/13-->-23/14-->5/15-->20/16-->-28/17-->6/18-->24/19-->-33/20-->7/21-->28/22-->-38/23-->8/24-->32/25-->-43/26-->9/27-->36/28-->-48/29-->10/30-->40/
而对于1..30程序取值如下
1-->-9/2-->-11/3-->1/4-->17/5-->23/6-->7/7-->-32/8-->-38/9-->-2/10-->34/11-->46/12-->14/13-->-55/14-->-65/15-->-5/16-->51/17-->69/18-->21/19-->-78/20-->-92/21-->-8/22-->68/23-->92/24-->28/25-->-101/26-->-119/27-->-11/28-->85/29-->115/30-->35/
是不是有规律呢?我们可以分析一下

5 楼

答案是
[quote]1.1 4 2 1 3 3
2.-400
[/quote]

我来回复

您尚未登录,请登录后再回复。点此登录或注册