[解题报告]10499 The Land of Justice

题目大意

题目原文:http://uva.onlinejudge.org/external/104/10499.pdf

背景:

 
 
在公平国内每件东西的售价都是固定的。没有人能够买入一个东西后用2倍的价钱卖出去。但是这也产生了市场问题,大家都不做生意而跑去做制造了。所以过了不久之后,每个人都在制造东西,但却没有人在做生意。这使得人们没有办法得到日常所需,虽然这个国家在各方面都可以自给自足。
政府变的非常紧张了,他们找来了数学家们。数学家们提供了一个解决方案。他们建议卖东西时不以体积计价,而以表面积计价。
现在,政府要求程序设计师建立所需软件来计算利润。
你的任务就是计算卖一东西(固体的球体)的利润。商人买来一个球体然后把它切割成相等的 n 等分出售。所有的切割一定都通过球体的轴心,如下图一般:

输入

输入含有多组测试数据。每组测试数据一列含有一正整数 n(0 < N < 2^31)。
若 n 为负数,代表输入结束,请参考Sample Input。

输出

对每组测试数据输出一列,输出商人将一实体圆球切割成相等的 n 等分后,可以获得的利润。以百分比表示,四舍五入到整数字数。

Sample input

2

2

-1

Sample output

50%

50%

 

算法:

我的想法是,初始球的表面积4*pi*r^2,当n=2时,多了2个半圆面2*pi*r^2,利润为50%,n=3时,多三个半圆面,利润为75%

所以以此类推。

一开始看成231其实就2的31次方,所以肯定贡献了一次wor的。

代码:

这里附上我的代码,你可以去这里提交你的代码验证你的代码是否正确。

#include <stdio.h>
int main(void)
{
    long n;
    while (scanf("%ld",&n)!=EOF)
    {
        if(n<0)break;
        if(n<=1&&n>=0)
        printf("0%%\n");
        else
        printf("%ld%%\n",25*n);
    }
 return 0;
}
原文地址:https://www.cnblogs.com/qisong178878915/p/2922448.html