m0_57872841 2022-03-26 17:51 采纳率: 25%
浏览 61
已结题

蓝桥杯2021年第十二届 杨辉三角形

个人想法是,通过for循环,将杨辉三角叠加遍历出来,个数,通过sum+j(算出遍历的几行的总数字再加上本行的第几列)
问题相关代码,请勿粘贴截图
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{int a[10000][10000];
int i,j;
int N,sum=0;
int b[10000];
scanf("%d",&N);


for(i=0;i<100;i++)
{
    b[i]=i+1;
    
}
a[0][0]=1;
a[1][0]=1;a[1][1]=1;
for(i=2;i<100;i++)
{
    for(j=0;j<i+1;j++)
{
    if(j==0) a[i][j]=1;
    else if(j==i) a[i][j]=1;
    else
    {
        a[i][j]=a[i-1][j-1]+a[i-1][j];
    }
}
}


for(i=0;i<100;i++)
{
    for(j=0;j<i+1;j++)
    {    

        if(a[i][j]==N)
        {
            printf("%d",sum+j+1);
        }
            sum+=b[i];
    }
}


    
    
    
    return 0;
}
运行结果及报错内容

没有输入的画面,直接跳出程序,不知道是哪里出了问题,杨辉三角,单独测试过,是可以正常显示的

  • 写回答

3条回答 默认 最新

  • CSDN专家-link 2022-03-26 18:43
    关注

    杨辉三角这个我会的,我的问题点在于,为什么没有输入的环节,程序就直接结束了

    原因是 int a[10000][10000];数组太大了,程序申请不到这么大空间,直接崩溃掉了。
    一是将数组大小减小,二是将这个数组放到main函数外面,变为全局变量。全局变量支持更大的数组空间申请

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
  • 关注

    参考:

    #include <stdio.h>
    
    void yhtriangle(int yanghui[10][10]){
        int i,j;
        for(i=0;i<10;i++)
        {
            for(j=0;j<=i;j++)
            {
                printf("%d ",yanghui[i][j]);
            }
            printf("\n");
        }
    }
    int main()
    {
        int i,j;
        int yanghui[10][10];
        for(i=0;i<10;i++)
        {
            yanghui[i][0]=1;
            yanghui[i][i]=1;//杨辉三角形每行第一列和最后一列数据都为1 
            for(j=1;j<i;j++)
            {
                yanghui[i][j]=yanghui[i-1][j-1]+yanghui[i-1][j];//每个数字等于肩上两数字之和 
            }
        }
        //打印
        yhtriangle(yanghui);
        return 0;
    }
    
    
    评论
  • 有问必答小助手 2022-03-26 18:51
    关注
    您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
    PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月30日
  • 已采纳回答 3月26日
  • 创建了问题 3月26日

悬赏问题

  • ¥15 win11安卓子系统打开谷歌登录不了切使用浏览器显示处于离线状态
  • ¥15 三维直角坐标系下,给定一个平面内四个点坐标,如何将四个点逆时针排序
  • ¥15 UnityWebRequest访问内网地址502
  • ¥20 Python语言来实现牛顿法(Newton's Method)解决非线性(系统)方程的问题。
  • ¥15 matlab控制工业相机采集图像
  • ¥25 R里做折线图和柱状图
  • ¥20 使用kokkos移植项目,遇到问题
  • ¥15 求该问题的Matlab代码
  • ¥15 python下使用pdpbox为何提示has no attribute 'pdp_isolate'?
  • ¥15 求java web病房管理系统项目,用netbeans做的