题解 | #求解立方根#
求解立方根
https://www.nowcoder.com/practice/caf35ae421194a1090c22fe223357dca
#import <Foundation/Foundation.h> int main(int argc, char* argv[]) { NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; float n; scanf("%f", &n); int sig = 1; if (n < 0) { n = n * -1; sig = -1; } float i = 1; while (i * i * i <= n) { i++; } i = i - 1; // printf("整数部分是:%.0f\n", i); int j = 1; while ((i + j * 0.1) * (i + j * 0.1) * (i + j * 0.1) <= n) { j++; } i = i + (j - 1) * 0.1; // printf("第一个小数位是%.2f\n", (j-1)*0.1); int k = 1; while ((i + k * 0.01) * (i + k * 0.01) * (i + k * 0.01) <= n) { k++; } // printf("第二个小数位是%.2f\n", (k-1)*0.01); if ((k - 1) * 0.01 >= 0.05) { printf("%.1f", (i + 0.1)*sig); } else { printf("%.1f", i * sig); } [pool drain]; return 0; }