回 帖 发 新 帖 刷新版面

主题:结果完全正确~~而电脑通不过的几道题·

Problem
输出扬辉三角

Input
本题有测试数据,每组数据仅含一个整数N(N不大于34)。一组数据独占一行。

Output
对于每一组数据,先输出一个

Case #:
。其中#号代表第#组数据。接下来输出一个由数字组成的扬辉三角。一行中的数字之间用一个空格分开。行尾不要有多余的空格。
两组数据之间空开一行。

Sample Input
6
3

Sample Output
Case 1:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

Case 2:
1
1 1
1 2 1

``````````````````````````````````````````````````````````
program lx1008;
var
   i:integer;
procedure y;
var m,n,a,c,l:integer;
begin
  read(a);
  i:=i+1;
  writeln('Case ',i,';');

  l:=0;
  for m:=0 to a-1 do
    begin
      c:=1;
      write(c,' ');
      for n:=1 to m do
        begin
          c:=c*(m-n+1)div n;
          if c=1 then l:=l+1;
          if (m=a-1)and(l mod 2=0)and(c=1) then
              write(c)
          else write(c,' ');
        end;
        writeln;
     end;
  y;
end;
begin
  i:=0;
  y;
end.

回复列表 (共6个回复)

沙发

Problem
输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...)

Input
一个整数N。(N不大于30000)

Output
从小到大排列的不大于N的与7有关的数字,每行一个。

Sample Input
20

Sample Output
7
14
17

````````````````````````````````````````````````````````
program lx1006;
var a,j,i,b,n:integer;
    d:real;

procedure qq(var d:real);
begin
  d:=d/10;
  if d>=1 then
    begin
      j:=j+1;
      qq(d);
    end;
end;

procedure pp(var b:integer);
var l,m,a,y:integer;
begin
  y:=b;
  for l:=1 to j do
    begin
      a:=y mod 10;
      y:=trunc((y-a)/10);
      if a=7 then
        begin
          writeln(b);
        end;
    end;
end;

begin
  read(n);
  j:=1;
  d:=n;
  qq(d);
     for i:=1 to n do
       if i mod 7=0 then
          begin
            writeln(i);

板凳

program lx1006;
var a,j,i,b,n:integer;
    d:real;

procedure qq(var d:real);
begin
  d:=d/10;
  if d>=1 then
    begin
      j:=j+1;
      qq(d);
    end;
end;

procedure pp(var b:integer);
var l,m,a,y:integer;
begin
  y:=b;
  for l:=1 to j do
    begin
      a:=y mod 10;
      y:=trunc((y-a)/10);
      if a=7 then
        begin
          writeln(b);
        end;
    end;
end;

begin
  read(n);
  j:=1;
  d:=n;
  qq(d);
     for i:=1 to n do
       if i mod 7=0 then
          begin
            writeln(i);
          end
      else pp(i);
end.
上面的没显示完~~这里是重发的第2题~

3 楼

第一个你可以用二维数组来实现嘛

4 楼

简单的问题复杂化

5 楼

敲七的题目和简单嘛!
rogram zhqi;
var s:string;
i,j,k,n:integer;
begin
  readln(n);
  for i:=1 to n do begin
   if i mod 7=0 then writeln(i) else
   begin
     str(i,s);
     j:=pos('7',s);
     if j<>0 then writeln(s);
   end;
  end;
end.

6 楼


用EOF

我来回复

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