用时: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;
}
}
}