1 条题解
-
0
C :
#include<stdio.h> int main() { int n,x; double s; while(scanf("%d",&n)!=EOF,n) { if(n<=4) { printf("10\n"); continue; } s=n/8*18; x=n%8; if(!x) printf("%.lf\n",s); else if(x>=5) { s+=10+2*(x-4); printf("%.lf\n",s); } else { s+=2.4*x; printf("%.1lf\n",s); } } return 0; }
C++ :
#include<stdio.h> int main() { int n,x; double s; while(scanf("%d",&n)!=EOF,n) { if(n<=4) { printf("10\n"); continue; } s=n/8*18; x=n%8; if(!x) printf("%.lf\n",s); else if(x>=5) { s+=10+2*(x-4); printf("%.lf\n",s); } else { s+=2.4*x; printf("%.1lf\n",s); } } return 0; }
Pascal :
var n,i,j,a,b:longint; s:real; begin readln(n); while n<>0 do begin if n<=4 then s:=10 else begin a:=n div 8; b:=n mod 8; if b<5 then s:=a*18+b*2.4 else s:=a*18+10+(b-4)*2; end; if s=trunc(s) then writeln(s:0:0) else writeln(s:0:1); readln(n); end; end.
Java :
import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; import java.util.Scanner; class Main { private static Scanner scan=new Scanner(System.in); public static void main(String[] args) { boolean flag=true; List<Double> list=new ArrayList<Double>(); while(flag) { Double value; int n=scan.nextInt(); if(n==0) { flag=false; break; } else { if(n<=4) { value=10.00; } else if(n<=8) { value=(double) (10+(n-4)*2); } else { value=(double) (18*(n/8)); if(n%8>4) { value=value+10+(n%8-4)*2; } else { value=value+(n%8)*2.4; } } list.add(value); } } for (Double s : list) { double ss=(double)s; if(ss-(int)ss==0) { System.out.println((int)ss); } else { DecimalFormat df = new DecimalFormat("0.0"); System.out.println(df.format(ss)); } } } }
Python :
import sys for line in sys.stdin: kilo = int(line.split()[0]) if kilo != 0: if 0< kilo <= 4: print 10 elif 4< kilo <= 8: print 10+(kilo-4)*2 elif kilo>8: a,b = divmod(kilo,8) if b ==0: print 18*a+int(2.4*b) elif b<=4: print 18*a+round(2.4*b,1) elif b>4: print 18*a+10+(b-4)*2
- 1
信息
- ID
- 1077
- 时间
- 1000ms
- 内存
- 32MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者