题解 | #字符串通配符# C++数学解法
求解立方根
http://www.nowcoder.com/practice/caf35ae421194a1090c22fe223357dca
#include<bits/stdc++.h> using namespace std; int main() { double db; while(cin>>db) { int flag=0;//负数处理成正数,后面再处理回来 if(db<0) { db=-db; flag=1; } db=db*1000000;//扩大100*100*100倍,为了保留1位小数 double a; for(a=0;a*a<=db;a++)//写成a*a<=db,不严谨,但是可以大大缩短计算时间 { if((a*a*a<=db)&&((a+1)*(a+1)*(a+1)>db)) { if(!flag) printf("%.1lf\n",(a+1)/100);//有组数据2.15000,四舍五入结果是2.1,醉了。所以写成(a+1),不然直接a就行的 else printf("%.1lf\n",-(a+1)/100); } } } }