1 条题解
-
0
C :
#include <stdio.h> int main() { int n; double m=0; scanf("%d",&n); if(n>1000000) { m += (n-1000000)*0.01; n = 1000000; } if(n>600000) { m += (n-600000)*0.015; n = 600000; } if(n>400000) { m += (n-400000)*0.03; n = 400000; } if(n>200000) { m += (n-200000)*0.05; n = 200000; } if(n>100000) { m += (n-100000)*0.075; n = 100000; } m += n*0.1; printf("%d\n",(int)m); return 0; }C++ :
#include<iostream> using namespace std; int main() { int m,n; cin>>n; if(n<=100000) m=n*0.1; else if(n<=200000) m=10000+(n-100000)*0.075; else if(n<=400000) m=10000+7500+(n-200000)*0.05; else if(n<=600000) m=10000+7500+10000+(n-400000)*0.03; else if(n<=1000000) m=10000+7500+10000+6000+(n-60000)*0.015; else m=10000+75000+10000+6000+6000+(n-1000000); cout<<m; return 0; }Java :
import java.util.Scanner; public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub final int n = 100000; Scanner input = new Scanner(System.in); int N = input.nextInt(); int award = 0; switch(N/n){ case 0 : award = N/10; break; case 1 : award = n/10 + (N - n)*75/1000; break; case 2 : ; case 3 : award = n/10 + n*75/1000 + (N - 2*n)/20; break; case 4 : ; case 5 : award = n/10 + n*75/1000 + 2*n/20 + (N - 3*n)*3/100; break; case 6 : ; case 7 : ; case 8 : ; case 9 : award = n/10 + n*75/1000 + 2*n/20 + 2*n*3/100 + (N - 5*n)*15/1000; break; default : award = n/10 + n*75/1000 + 2*n/20 + 2*n*3/100 + 4*15/1000 + (n-9*n)/1000; break; } System.out.println(award); input.close(); } }Python :
a = map(lambda x:int(x), raw_input().split()) x = r = a[0] listt = [100000,200000,400000,600000,100000] listt2 = [0.1,0.075,0.05,0.03,0.015,0.01] prize = 0 i = 0 while i < 5 : x -= listt[i] if x < 0: x += listt[i] prize += x * listt2[i] break prize += listt[i] * listt2[i] i += 1 if i == 5: prize += x * listt2[i] print int(prize)
- 1
信息
- ID
- 1994
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者