1.煤球数目

2.生日蜡烛

3.凑算式

4.快速排序

5.抽签

6.方格填数

7.剪邮票

8.四平方和

9.交换瓶子

10.最大比例

 

刚考完时还是感觉良好的,当我听到填空不要加分号、大题不能循环输入的时候。。。

1.煤球数目:求和的,对自己手算没太大自信,写了个程序。--171700(对)

2.生日蜡烛:也是个求和,2重循环。--26(对)

3.凑算式:9重循环,忘了判断字母重复。--46749(错,答案是29)

4.快速排序:经典排序,没用里面给的交换函数,也对?还有就是加了分号,也对?--a[p]=a[j],a[j]=x;(对?答案是swap(a,p,j)或a[p]=a[j],a[j]=x?)

5.抽签:dfs,同样加了分号。--f(a,k+1,m-i,b);(对?答案是f(a,k+1,m-i,b)或f(a,k+1,m-j,b))

6.方格填数:dfs,按不重复做的。后来听说题意没说能不能重复,确实是。--1580(对?重复的话是206059714?)

7.剪邮票:dfs,但是写错了,GG。好像12中选5的所有情况也比我的小。。--3088(错,答案是116?)

8.四平方和:暴力,一般第一题比较简单,暴力就行。可是我写的也太暴力了。。。4重循环。。其实3重即可,最后一个数可以直接得到。--(对一部分)

9.交换瓶子:贪心,这个题目简单想了下,策略就是从编号1枚举到N,如果位置不对,那么就与对应位置的瓶子交换。用了2个数组。测试了下样例,过了。--(对?)

10.最大比例:这个题没时间了,题意当时也没大看懂。感觉可以求最大公约数暴力一下。--(错)

 

1.煤球数目

煤球数目
有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),
....
如果一共有100层,共有多少个煤球?
请填表示煤球总数目的数字。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

答案:171700

s.直接求

#include<iostream>
#include<stdio.h>
using namespace std;

int a[105];

int main(){
    
    int i;
    int sum;
    
    a[1]=1;
    for(i=2;i<=100;++i){
        a[i]=a[i-1]+i;
    }
    
    sum=0;
    for(i=1;i<=100;++i){
        //printf("%d ",a[i]);
        sum=sum+a[i];
    }
    
    printf("%d\n",sum);
    
    return 0;
}
View Code

相关文章: