NOIP2016普及组复赛第一题ACC程序加题解pascal———买铅笔

NOIP2016普及组复赛第一题ACC程序加题解pascal

第一题:

   题目描述

P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有 3种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起见,P老师决定只买同一种包装的铅笔。

商店不允许将铅笔的包装拆开,因此P老师可能需要购买超过n支铅笔才够给小朋友们发礼物。

现在P老师想知道,在商店每种包装的数量都足够的情况下,要买够至少n支铅笔最少需要花费多少钱。

 

var

  i,j,k,m,x,y:longint;   //i,j,k:循环变量,为什么有这么多?个人喜好!!!!!!x:一套铅笔的个数y:一套铅笔的价格。

  max,n:int64;

begin

  assign(input,'pencil.in');

  assign(output,'pencil.out');

  reset(input);

  rewrite(output);//文件格式输入输出。

  readln(m);//P老师要多少只铅笔。

  max:= maxlongint;//P老师最少花多少钱。

  for i:=1 to 3 do//有三种铅笔。

    begin

      read(x,y);//输入

      if x<>0 then begin

      n:=m div x;//要买多少套。

      if m mod x<>0//判断要买多少套?

      then n:=n+1;

      n:=n*y;//N套要多少钱。

      if n是否少于上一套的钱数。

        then max:=n;//是的话就赋值给MAX

      end;

 

    end;

  writeln(max);//输出最少花多少钱。

  close(input);

  close(output);

 

end.

 

 

你可能感兴趣的:(pascal,NOIP2016)