1. 程式人生 > >NOIP2016普及組複賽第一題ACC程式加題解pascal———買鉛筆

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<max//是否少於上一套的錢數。

        then max:=n;//是的話就賦值給MAX

      end;

    end;

  writeln(max);//輸出最少花多少錢。

  close(input);

  close(output);

end.