//感觉思路没有问题但ac不了;
#pragma warning(disable:4996);
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
double f(int n) {
if (n <= 4) {
return 10;
}
else if (n <= 8)
{
return 10 + (n - 4) * 2;
}
else if (n <13) {
return 10 + 8 + (n - 8) * 2.4;
}
else {
if (n % 8 != 0) return (n / 8) * 18 + f(n % 8);
else return (n / 8) * 18;
}
}
int main(){
int n;
while (scanf("%d", &n) != EOF) {
if (n == 0) break;
double x = f(n);
if ((int)x == x) printf("%.0f\n", x);
else printf("%.1f\n", x);
}
return 0;
}
ac
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
while(cin>>n && n)
{
double sum=0;
if(n<4) sum=10;
if(n>=4 && n<=8) sum=10+(n-4)*2;
if(n>8)
{
while(n>=8)
{
sum+=18;
n-=8;
}
if(n<=4)
{
sum+=2.4*n;
}
else
{
sum+=10+(n-4)*2;
}
}
if(sum-(int)sum==0) printf("%d\n",(int)sum);
else printf("%.1lf\n",sum);
}
return 0;}