UVA10499 The Land of Justice 的题解
UVA传送门
题目大意
有一个球体,将其分成 n n n 份以后,表面积增加了百分之多少?输入以一个负数结尾,该负数不参与计算。
思路
因为球的表面积为 4 π r 2 4 \pi r^2 4πr2,圆的表面积为 π r 2 \pi r^2 πr2,所以一个球的表面积是一个圆的面积的 4 4 4 倍。而切一刀就是增加 1 4 S \frac{1}{4}S 41S 球,即为 25 % × n 25\% \times n 25%×n。
注意特判 N = 1 N=1 N=1 的情况,将一个球平均分成 1 1 1 份,相当于原来的球体,表面积没有增加,因此增加了 0 % 0\% 0%。
注意:此题要开 long long
。
代码
#include <bits/stdc++.h>
#define lowbit(x) x & (-x)
#define endl "\n"
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
namespace fastIO {
inline int read() {
register int x = 0, f = 1;
register char c = getchar();
while (c < '0' || c > '9') {
if(c == '-') f = -1;
c = getchar();
}
while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();
return x * f;
}
inline void write(int x) {
if(x < 0) putchar('-'), x = -x;
if(x > 9) write(x / 10);
putchar(x % 10 + '0');
return;
}
}
using namespace fastIO;
int main() {
ll n; // 一定要开 long long
while (cin >> n && n > 0) { // 输入
if (n == 1) { // 特判1
cout << "0%" << endl; // 割一刀输出0
}
else {
cout << n * 25 << "%" << endl; // n * 25%
}
}
return 0;
}