运行错误的无限尝试,求正解

Dev_C++运行答案是对的,但提交时一直报错,求解:

题目描述
假定多项式的形式为xn+xn-1+…+x2+x+1,请计算给定单精度浮点数x和正整数n值的情况下这个多项式的值。
输入格式
输入仅一行,包括x和n,用单个空格隔开。x在float范围内,n <= 1000000。
输出格式
输出一个实数,即多项式的值,精确到小数点后两位。保证最终结果在float范围内。
样例输入
2.0 4
样例输出
31.00

#include
#include
#include
using namespace std;
int main()
{
    unsigned int n;float x,sum=0;
    cin>>x>>n;
    for(int i=n;i>=0;i--)
    {
    sum+=pow(x,i);        
    }
    cout<setprecision(2)<
答案错误,编译错误

求正解.