北京理工计算机 上机复试2002年A

1、  某人有8角的邮票5张,1元的邮票4张,1元8角的邮票6张,用这些邮票中的一张或若干张可以得到多少中不同的邮资?

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int found(double x,double p[]){
 5 for(int i=0;i<300;i++)
 6     if(p[i]==x)
 7         return 1;
 8 return 0;
 9 }
10 int insert(double x,double p[]){
11     for(int i=0;i<300;i++)
12         if(p[i]==0){
13             p[i]=x;
14             return i+1;
15         }
16 return 0;
17 }
18 
19 int main(){
20     double p[300]={0};
21     int sum=0;
22     for(int i=0;i<6;i++)
23         for(int j=0;j<5;j++)
24             for(int k=0;k<7;k++){
25                 double x=0.8*i+1*j+1.8*k;
26                 if(!found(x,p))
27                     insert(x,p);
28             }
29             for(int z=0;z<300;z++){
30             
31                 if(p[z]==0){
32                 cout<<z<<endl;
33                 return 0;
34                 }
35             }
36 return 0;
37 }//main
2002A_01.cpp

2、  输入n值,使用递归函数,求杨辉三角形中各个位置上的值,按照如下形式打印输出图形。例如:当n=6时。

      1

     1 1

    1 2 1

   1 3 3 1

  1 4 6 4 1

1 5 10 10 5 1

 

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int trangle(int m,int n){    
 5     if(m>0&&n==1)return 1;
 6     else if(m>1&&n>1) return trangle(m-1,n-1)+trangle(m-1,n);
 7     else return 0;
 8 }
 9 
10 int main(){
11     int n;
12     cout<<"please input a num"<<endl;
13     cin>>n;
14     for(int i=0;i<=n;i++){
15         for(int j=0;j<=n;j++){
16             int x=trangle(i,j);
17             if(x>0)cout<<" "<<x<<" ";
18             else cout<<" ";
19         }
20         cout<<endl;
21     }
22 
23 return 0;
24 }//main
2002A_02.cpp

 

转载于:https://www.cnblogs.com/Alan-Wei/p/6430576.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值