鱼C论坛

 找回密码
 立即注册
查看: 5755|回复: 17

[争议讨论] 蛇形矩阵

[复制链接]
发表于 2011-12-9 19:18:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
蛇行矩阵
Problem
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。

Input
本题有多组数据,每组数据由一个正整数N组成。(N不大于100)

Output
对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。

矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。

Sample Input
5

Sample Output
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-12-9 21:15:02 | 显示全部楼层
本帖最后由 刹那芳华 于 2011-12-9 21:20 编辑

没人么?我自己先来个吧~~
#include<iostream>
using namespace std;

int main()
{
    float  n , m , count ;
    int s;
    cout<<"请输入一个数字:"<<endl;
    cin>>count;
        while(cin)
        {
    for(n=1,s=1;n<=count;n++,s++)
    {   
        cout<<endl;
        for (m=1;m<=count-n+1;m++)                          
            cout<<0.5*(m+n)*(m+n)-n*3/2-m/2+1<<" ";
    }
        cout<<"输入另一个数字(输入Q退出):";
        cin>>count;
        }
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-10 14:18:37 | 显示全部楼层
发个delphi的控制台程序
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-10 14:18:57 | 显示全部楼层
program Project1;

{$APPTYPE CONSOLE}

var
i,j,k,n,a,b,c,temp:integer;

begin
writeln('输入一个整数:');
readln(n);

a:=1;
b:=2;
c:=1;
for i:=n downto 1 do
begin
  k:=a;
  temp:=b;
  for j:=i downto 1 do
    begin
      write(k:6);
      k:=k+temp;
      inc(temp);
    end;
writeln;
a:=a+c;
inc(b);
inc(c);
end;
readln;

end.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-10 14:30:38 | 显示全部楼层
为了便于大多数人理解,转换成C的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-10 14:31:14 | 显示全部楼层
int _tmain(int argc, _TCHAR* argv[])
{
        int i,j,k,n,a,b,c,temp;

        printf("please input an integer:\n");
        scanf("%d",&n);

        a=1;
        b=2;
        c=1;

        for(i=n;i>0;i--)
        {
                k=a;
                temp=b;
                for(j=i;j>0;j--)
                {
                        printf("%6d",k);
                        k+=temp;
                        temp++;
                }
                printf("\n");
                a+=c;
                b++;
                c++;
        }
        getch();
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-10 19:03:25 | 显示全部楼层
额也来一个
  1. #include<stdio.h>
  2. void main()
  3. {
  4.         int i,j,k=0,m=0,n;
  5.         scanf("%d",&n);
  6.         for(i=0;i<n;i++)
  7.         {
  8.                
  9.                 for(j=1;j<=n-i;j++)
  10.                 {
  11.                         k+=j+i;
  12.                         printf("%d ",k);
  13.                 }
  14.                 m+=i;
  15.                 k=m;
  16.                 printf("\n");
  17.         }

  18. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-12-12 12:17:45 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-12-12 12:18:04 | 显示全部楼层
z____ 发表于 2011-12-10 14:31
int _tmain(int argc, _TCHAR* argv[])
{
        int i,j,k,n,a,b,c,temp;

若不是按行输出的,是按个数输出的又改怎么写呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-12 22:34:59 | 显示全部楼层
什么意思?就是输入5的话就只输出5个数吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-12-13 11:51:39 | 显示全部楼层
z____ 发表于 2011-12-12 22:34
什么意思?就是输入5的话就只输出5个数吗?

恩,就是这个意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-26 22:21:21 | 显示全部楼层
#include <stdio.h>

void main()
{
int n;
int i,j;
puts("please enter n:");
scanf("%d",&n);
for( i=0;i<=n-1;i++)
{
  static int rowHead = 1,up =0,num;
  rowHead += i;
  printf("%d\t",rowHead);
  for(j=1,num = rowHead;j<n-i;j++)
  {
   num += j+1+up;
   printf("%d\t",num);
  }
  printf("\n");
  up++;
}

return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-31 16:52:19 | 显示全部楼层

蛇形三角

蛇形三角


题目是以第二种蛇形序列输出的。如果以第一种蛇形序列输出呢?(个人认为第一种才算是真蛇形)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-31 17:05:07 | 显示全部楼层
如果再将题目改成输出(10 X 10  或  5 X 10)之类的矩阵,
又如何使算法变得可以在最大尺度上的重用,或最小尺度上的修改呢?
:lol:lol:lol:lol:lol
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-31 17:21:09 | 显示全部楼层
再假设:
如果想输出正三角形呢?(当前题目是倒三角)

又或者,想以:
1
2 3
6 5 4
7 8 9 10
这种蛇形三角输出呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-31 17:34:21 | 显示全部楼层
其实我真正想说的是算法的维护和扩展这两个特点。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2014-3-15 19:45:16 | 显示全部楼层
z____ 发表于 2011-12-10 14:18
program Project1;

{$APPTYPE CONSOLE}

{:7_148:}!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-2 16:29:07 | 显示全部楼层
这个是线性代数里的么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 18:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表