用c++写康托数,for和if刚学,不知道怎么出错了

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
#include <iostream>
using namespace std;
int main(){
    int N ;
    float A;
    float B;
    cin>>N;
    for(float i=1;i*(i+1)/2<N;++i)
    {
    if(i*(i+1)/2>=N) break;
    if(N%2)
    {
    float A=N-i*(i-1)/2;
    float S=A/(i+1-A);
    cout<<S;
    break;}
    else
    float B=N-i*(i-1)/2;
    float R=(i+1-B)/B;
    cout<<R;
    break;}
    return 0;
}

img

17行else后面少了个大括号了