科技节编程大赛三等奖作品——李白杨

 姓名:李白杨

用时:2小时



题目一

#include<iostream>

usingnamespace std;

intmain()

{

      int input[5];

      int m;

      int A,B;

      

      int count=1;

      int distance;

 

      for(m=0;m<5;m++)

             cin>>input[m];

 

      A=input[0];

      B=input[1];

 

      if(input[0]==input[1])

             cout<<0<<endl;

 

      if(input[0]>input[1])

      {

             distance=input[0]-input[1];

             if(input[2]==input[3])

                    cout<<"Impossible";

              else if(input[2]>input[3])

             {

                           while(1)

                           {

                                  A=A+input[2];

                                  B=B+input[3];

                                  if((A-B+distance)%input[4]==0)

                                  {

                                         cout<<count<<endl;

                                         break;

                                  }

                                  count++;

                           }

             }

 

                    elseif(input[2]<input[3])

                    {

                           while(1)

                           {

                                  A=A+input[2];

                                  B=B+input[3];

                                  if((B-A-distance)%input[4]==0||(B-A)==distance)

                                  {

                                         cout<<count<<endl;

                                         break;

                                  }

                                  count++;

                           }

                    }

      }

      

      if(input[0]<input[1])

      {

             if(input[2]==input[3])

                    cout<<"Impossible";

             else if(input[2]>input[3])

             {

                    while(1)

                    {

                           A=A+input[2];

                           B=B+input[3];

                           if((A-B)==distance||(A-B-distance)%input[4]==0)

                           {

                                         cout<<count<<endl;

                                         break;

                           }

                           count++;

                    }

             }

             else

             {

                    while(1)

                    {

                           A=A+input[2];

                           B=B+input[3];

                           if((B-A+distance)%input[4]==0)

                           {

                                         cout<<count<<endl;

                                         break;

                           }

                                  count++;

                    }

             }

 

      }

 

      return 0;

}

 


 

题目二

 

#include<iostream>

usingnamespace std;

intmain()

{

      while(1)

      {

             int num;

             scanf("%d",&num);

             if(num==0)

                    break;

             int m,n;

             int *data=new int[num];

             for(m=0;m<num;m++)

                    cin>>data[m];

 

             int count1=0;

             int count2=1;

             int count3=1;

      

             for(m=0;m<num;m++)

             {

                    count1=count1+data[m];

                    count2=count2*data[m];

             }

             for(n=count1;n>0;n--)

                    count3=count3*n;

             int num1;

             num1=count3/count2;

 

             cout<<num1<<endl<<endl;

             delete []data;

      }

return 0;

}

 


 

题目三

#include<iostream>

usingnamespace std;

intmain()

{

      int num;

      cin>>num;

      int money[3]={350,200,150};

      int *data=new int[num];

      int m,n;

      for(m=0;m<num;m++)

             cin>>data[m];

      cout<<endl;

      for(m=0;m<num;m++)

      {

             if(data[m]%money[0]==0||data[m]%money[1]==0||data[m]%money[2]==0)

                    cout<<0<<endl;

             else

             {

                    int last;

                    for(m=0;m<num;m++)

                    {

                           

                           last=data[m]%money[m];

                           if(last<money[2])

                                  break;

 

                    }

                    cout<<last<<endl;

             }

      }

}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值