题解 | #Old Bill# 机试指南 P10
Old Bill
http://www.nowcoder.com/questionTerminal/17a30153e092493e8b4d13f321343927
// 2023-4-14 机试指南P10
int main()
{
int i,j,x,y,z,univalence,n;
int flag=0;
int sum=0;//花费的总数
while(scanf("%d",&n)!=EOF)
{
scanf("%d%d%d",&x,&y,&z);
//因为是想输出最大单价,于是将总花费从大到小递减
for(i=9;i>=1;i--)//万位
{
for(j=9;j>=0;j--)//个位
{
sum=i*10000+x*1000+y*100+z*10+j;
if(sum%n==0)//说明可以取整,也就是可以求出单价
{
univalence=sum/n;//如果可以求出,这就是最大单价
flag=1;//标志 如果是1 说明可以找到
break;
}
}
if(univalence==sum/n)//在第一个循环后,如果找到了最大单价,则直接跳出两个循环,再用一个break
{
printf("%d %d %d\n",i,j,univalence);
break;
}
}
if(flag==0)//说明遍历所有的i j都没有找到整数单价
printf("0\n");
}
return 0;
}