4 2 4
// // main.cpp // 160610 // // Created by liuzhe on 16/6/10. // Copyright © 2016年 my_code. All rights reserved. // #include <iostream> #include <algorithm> #include <cstdio> #include <cmath> #include <cstring> #include <string> using namespace std; int main(int argc, const char * argv[]) { freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); int n,k; while(scanf("%d%d",&n,&k)==2) { int ans=0; if(n<=k) ans = 2; else { if(n*2%k==0) ans=n*2/k; else ans=n*2/k+1; } printf("%d\n",ans); } return 0; } #include<cstdio> #include <iostream> #include <cmath> #define ll long long using namespace std; int main() { freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); int n,k; while(scanf("%d%d",&n,&k)==2) { if(n<=k) cout<<"2"<<endl; else cout<<(ll)(ceil((double)n*2.0/(double)k))<<endl; } return 0; } #include <math.h> double ceil(double x); double floor(double x); double round(double x); ceil(x)返回不小于x的最小整数值(然后转换为double型)。 floor(x)返回不大于x的最大整数值。 round(x)返回x的四舍五入整数值。 给个例子test.c: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include <stdio.h> #include <math.h> int main(int argc, const char *argv[]) { float num = 1.4999; printf("ceil(%f) is %f\n", num, ceil(num)); printf("floor(%f) is %f\n", num, floor(num)); printf("round(%f) is %f\n", num, round(num)); return 0; } 编译:$cc test.c -lm 执行:$./a.out ceil(1.499900) is 2.000000 floor(1.499900) is 1.000000 round(1.499900) is 1.000000
