10499 - The Land of Justice

本文介绍了一种通过将球体切割成N等份并计算切割后表面积增加的百分比来确定商业利润的方法。该方法适用于固定价格市场,旨在解决传统商业模式下因无法通过买卖商品赚取差价而导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Problem H
The Land of Justice
Input:
 standard input
Output: standard output
Time Limit: 4 seconds

In the Land of Justice the selling price of everything is fixed all over the country. Nobody can buy a thing and sell it in double price. But, that created problems for the businessmen. They left their business and went to the production. So, after some days everybody was in production and nobody in business. And the people didn’t get their necessary things though the country was self-sufficient in every sector.

 

The government became very much anxious. But, they were intelligent enough to call the mathematicians.

 

The mathematicians gave a solution.  They suggested setting the surface area of an object as its selling-unit instead of its volume. Actually the clever mathematicians were very much interested to establish their own business.

 

Now, the government asks the programmers to build the software that would calculate the profit things.

 

Here your job is to calculate the business profit for a solid sphere. A businessman buys a complete sphere and to maximize his profit he divides it in n equal parts. All cut should go through the axis of the sphere. And every part should look like the picture below:

 

Input

You are given a sequence of integers N (0 < N < 231), indicating the numbers of parts of the sphere. The input file is terminated with a negative number. This number should not be processed.

 

Output

Calculate the profit over the sold pieces. The result should be in percentage and rounded to the nearest integer.

  

Sample input

2

2

-1

 

Sample output

50%

50%


大意就是,将球切成N块之后,增加了多少表面积,用百分比来表示。

一开始没有考虑到数据范围的问题,N是int的,可是25*N不一定是int类型。

之后还有就是N=1的时候,相当于没有切块,所以答案应该是0%


#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<ctype.h>
#include<algorithm>
#include<queue>
#include<stack>
using namespace std;
int main ()
{
    long long n,p;
    while(cin>>n)
    {
        if (n<0) break;
        else if (n==1) cout<<"0%"<<endl;
        else
        {
            p=floor((n)/4.0*100);
            cout<<p<<"%"<<endl;
        }
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值