二分之根号五减一442 2023-10-19 22:14 采纳率: 90%
浏览 10
已结题

C语言,杨辉三角输出数字是第几个


#include<stdio.h>
int jiecheng(int m){
    if(m==0)
    return 1;
    else
    return m*jiecheng(m-1);
}
int zuhe(int m,int n){
    int a;
    a=jiecheng(m)/jiecheng(n)/jiecheng(m-n);
    return a;
}
int main(){
    int m;
    scanf("%d",&m);
    int i,j;
    for(i=2;i<=100000000;i++)
    {
        for(j=1;j<=i;j++)
        {
            if(zuhe(i,j)==m)
            {
                printf("%d",(i-1)+0.5*(i-1)*(i-2)+j);
                return 0;
            }    
        }
    }
    return 0;
}

img

这个程序为什么不实现输入一个数,输出这个数在杨辉三角中是第几个数啊?

  • 写回答

2条回答 默认 最新

  • mr-element 2023-10-20 11:37
    关注

    main 函数的 printf 语句中,printf("%d",(i-1)+0.5*(i-1)*(i-2)+j); 的括号不正确。
    而且,你这个循环数量太大了,循环会很慢

    
    #include <stdio.h>
    
    int jiecheng(int m) {
        if (m == 0)
            return 1;
        else
            return m * jiecheng(m - 1);
    }
    
    int zuhe(int m, int n) {
        int a;
        a = jiecheng(m) / (jiecheng(n) * jiecheng(m - n)); // Corrected calculation
        return a;
    }
    
    int main() {
        int m;
        scanf("%d", &m);
        int i, j;
        for (i = 1; i <= 100; i++) {  // Reduced the range for faster computation
            for (j = 0; j <= i; j++) {
                if (zuhe(i, j) == m) {
                    printf("The number %d is found in row %d of Pascal's Triangle.\n", m, i);
                    return 0;
                }
            }
        }
        printf("The number %d is not found in Pascal's Triangle.\n");
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月1日
  • 已采纳回答 10月24日
  • 修改了问题 10月19日
  • 创建了问题 10月19日

悬赏问题

  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)
  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据