c语言杨辉三角和素数问题。

1.杨辉三角是把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现出来,是一种离散型的数与形的结合。杨辉三角的每一项数据正好是组合(即n!/m!/(n-m)!)的值,其中n是行数(从0行开始);m是列数(从0列开始)。请使用上述算法得到杨辉三角形每一个位置的值并按下图打印。要求用函数fac计算一个正整数的阶乘(用递归函数来实现),通过主函数调用fac完成计算。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
2.素数又称为质数,它是一个大于1的自然数,除了1和它自身外,不能被其它自然数整除,可以应用于密码学、汽车变速箱齿轮的设计等方面。编写一个子函数prime判定正整数n是否为素数,通过主函数调用prime函数,按每行十个输出2到100之间所有素数。

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

1.杨辉三角

#include <stdio.h>

int fac(int x)
{
    if (x<=1)
        return 1;
    return x * fac(x-1);
}
int main()
{
    int n,m;
    for (n = 0; n <5 ; n++)
    {
        for (m = 0; m <= n; m++)
        {
            int s = fac(n) / fac(m) / fac(n-m);
            printf("%d ", s);
        }
        printf("\n");

    }
    return 0;
}

img


2.素数

#include <stdio.h>

int prime(int n)
{
    int i;
    if(n<=1)
        return 0;
    for(i=2;i*i<=n;i++)
        if(n%i==0)
            return 0;
    return 1;
}

int main()
{
    int i,j=0;
    for( i=2; i<=100; i++ ) {
        if(prime(i)){
            printf("%2d%c", i,++j%10==0?'\n':' ');
        }
    }
    return 0;
}

img