NOI1.5第16题,我的输出结果为4,题目给的输出结果为8,求解

16:买房子
查看提交统计提问
总时间限制: 1000ms 内存限制: 65536kB
描述
某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之K增长,并且该程序员未来年薪不变,且不吃不喝,不用交税,每年所得N万全都积攒起来,问第几年能够买下这套房子?(第一年年薪N万,房价200万)

输入
一行,包含两个正整数N(10 <= N <= 50), K(1 <= K <= 20),中间用单个空格隔开。
输出
如果在第20年或者之前就能买下这套房子,则输出一个整数M,表示最早需要在第M年能买下,否则输出Impossible。
样例输入
50 10
样例输出
8

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,k,i,sum,q,p=1;
    scanf("%d %d",&n,&k);
    for(i=1;;i++)
    {
        sum=n*i;
        p*=(1+k/100.00);
        q=200*p;
        if(sum>=q&&i<=20)
        {
            printf("%d",i);
            return 0;
        }
        else if(i>20)
        {
            printf("Impossible");
            return 0;
        }
    }
    return 0;
}