Zaokrąglenie liczby do góry

0

Próbuję zrobić program ze spoj-a o nazwie "Obżartuchy" (http://pl.spoj.com/problems/GLUTTON/) i nie wiem, jak zaokrąglić liczbę do góry. Np. jeśli wynik wyjdzie 2, to zostawić 2, ale jeśli wyjdzie powiedzmy 2.1, 2.5, 2.8 lub 3, to wypisać na ekran 3. Jak takie coś zrobić?

2

Co powiesz na

#include <cmath>
double ceil( double fValue );
0

Nie wiem do końca, jak to działa. Zrobiłem sobie program testowy:

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    int a, b;

    cin>>a;
    b=a;
    double ceil(double aValue);
    cout<<"a="<<a<<endl;
    cout<<"b="<<b;
    //if(b-a==0) cout<<a;
    //else cout<<a+1;

    return 0;
}

ale wartość "b" po przecinku też ucina. Dlaczego?

1

Dopiero zaczynasz tak? double ceil(double aValue) to jest funkcja zawarta w cmath. Double oznacz typ danych.
Kod ma wyglądać tak

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    double a;

    cout << "Wpisz liczbe, ktora mam zaokraglic w gore: ";
    cin >> a;
    cout <<"a=" << ceil(a) << endl;

    return 0;
}
1

Poczytaj sobie choć chwilę o tym czym są typy danych i jak się zachowują w języku, w którym chcesz pisać. Ogarnięcie idei funkcji też będzie pomocne.

1
printf("%llu\n",(sum+M-1)/M)

1 użytkowników online, w tym zalogowanych: 0, gości: 1