AtCoder Beginner Contest 176 A Explication du problème "Takoyaki" (Python3, C ++, Java)

C'est Rute! Tout le monde Concours Débutant AtCoder 176 Merci pour votre travail acharné! !! Cette fois, c'était le concours de résolution rapide ABC depuis ABC164 </ font> </ b>, qui est une résolution rapide des problèmes A, B et C. Probablement, il y avait beaucoup de gens qui ont dit: "Complétez ABC 3 et retirez-vous."

Cette fois, je voudrais expliquer les problèmes A, B et C en trois langues! !!

Liens vers chaque problème / explication

A B C
Cet article! !! ABC 176 B ABC 176 C

Commençons par une explication du Un problème </ b>! !!

Résumé du problème

La machine à takoyaki peut produire jusqu'à $ X $ takoyaki à la fois. Le temps qu'il faut pour faire est de $ T $ quel que soit le nombre.

Indiquez le nombre de minutes nécessaires pour faire $ N $ takoyaki.

Contrainte

・ $ 1 \ leq N, X, T \ leq 1000 $ ・ Toutes les entrées sont des entiers

Commentaire

Solution 1 (utilisation de la fonction plafond)

Le nombre de fois où la machine à takoyaki est utilisée pour faire $ N $ takoyaki est $ \ lceil {\ frac {N} {X}} \ rceil $.

(Ici, $ \ lceil {A} \ rceil $ est appelé la fonction plafond </ b> de A, et signifie spécifiquement entier minimum </ b> de $ A $ ou plus. A.) Par conséquent, le multiplier par $ T $ est le temps nécessaire pour créer $ N $ takoyaki, vous pouvez donc le sortir! !!

Solution 2 (utilisation du branchement conditionnel)

Ou, il semble bon de considérer le branchement conditionnel suivant. -Si $ N $ est divisé par $ X $ et que le reste est égal à 0, N / X * T est affiché, sinon (N / X + 1) * T est affiché. Vous trouverez ci-dessous des exemples de réponses en Python3, C ++ et Java. (Python3 utilise Solution 1 </ b> et C ++ utilise Solution 2 </ b> comme exemple de solution.)

Exemple de réponse pour chaque langue

Exemple de solution en Python3

{ABC176A.py}


import math
n,x,t = map(int,input().split())
A = math.ceil(n/x)
print(A*t)
  • La fonction plafond est calculée en utilisant la fonction «ceil» dans la bibliothèque «math».
Exemple de solution en C ++

{ABC176A.cpp}


#include<bits/stdc++.h>
using namespace std;
int main(){
  int n,x,t;
  cin >> n >> x >> t;
  if (n%x == 0){
    cout << n/x * t << endl;
  }else{
    cout << (n/x + 1) * t << endl;
  }
}

Exemple de réponse Java

{ABC176A.java}


import java.util.Scanner;
public class Main{
  public static void main(String[] args){
    Scanner scan = new Scanner(System.in);
    int n = scan.nextInt();
    int x = scan.nextInt();
    int t = scan.nextInt();
    if (n%x == 0){
      System.out.println(n/x*t);
    }else{
      System.out.println((n/x+1)*t);
    }
  }
}

Recommended Posts