牛客每日练习----杨辉三角,Factorial,Socket

大提琴的声音就像一条河,左岸是我无法忘却的回忆,右岸是我值得紧握的璀璨年华,中间流淌的,是我年年岁岁淡淡的感伤

链接:https://ac.nowcoder.com/acm/problem/14320
来源:牛客网
 

题目描述

    

杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。

它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。

下面给出了杨辉三角形的前4行:

   1

  1 1

 1 2 1

1 3 3 1

给出n,输出它的前n行。

输入描述:

输入包含一个数n。

输出描述:

输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面和后面输出多余的空格。

示例1

输入

复制

4

输出

复制

1
1 1
1 2 1
1 3 3 1

说明

1 <= n <= 34。
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;
int n,a[40][40];
int main()
{
    scanf("%d",&n);
    for(int i=0; i

链接:https://ac.nowcoder.com/acm/problem/14323
来源:牛客网
 

题目描述

Hill was a clever boy,he like math very much.Today teacher give him a question.
calculate N! . But Hill was tired,he need to sleep,so let you help him to calculate N!.

what is N!
N! = 1*2*3*......*N

Hey, you need to think about 0! . Do you?

输入描述:

There are multiple test cases. The first line is an positive integer T indicating the number of test cases.(0 
  

输出描述:

For each test case, output one line.

示例1

输入

复制

3
1
2
3

输出

复制

1
2
6
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;
int n,i;
ll jg;
int main()
{
    scanf("%d",&i);
    while(i--)
    {
        jg=1;
        scanf("%d",&n);
        while(n)
            jg*=n--;
        printf("%lld\n",jg);
    }
    return 0;
}

链接:https://ac.nowcoder.com/acm/problem/14333
来源:牛客网
 

题目描述

玻璃小屋内有n个插排,屋内有 m 个需要供电的机器,并且墙上有k个可以直接使用的插口。知道了每个插排上的插口的个数,并且所有的插头和插口都是可以匹配的。问你最少用几个插排可以让所有机器都供上电?

输入描述:

多组测试数据,每组第一行输入n, m, k。(1≤ n, m, k ≤50)
第二行有n个数,分别表示每个插排上插口的个数。

输出描述:

输出最少需要几个插排。如果有电器无法充上电则输出-1。
每组输出占一行。

示例1

输入

复制

3 5 3
3 1 2
4 7 2
3 3 2 4
5 5 1
1 3 1 2 1

输出

复制

1
2
-1
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;
int n,m,K,i,A[60];
bool cmp(int a,int b)
{
    return a>b;
}
int main()
{
    while (~scanf("%d%d%d",&n,&m,&K))
    {
        for (i=1; i<=n; i++)
            scanf("%d",&A[i]);
        if (K>=m)
        {
            printf("0\n");
            continue;
        }
        sort(A+1,A+1+n,cmp);
        int jg=-1;
        for (i=1; i<=n; i++)
        {
            K+=A[i]-1;
            if (K>=m)
            {
                jg=i;
                break;
            }
        }
        printf("%d\n",jg);
    }
    return 0;
}

你可能感兴趣的:(牛客网)