1 条题解

  • 0
    @ 2024-12-24 9:59:26

    C :

    int main(int argc, char* argv[])
    {int i,n,k;
    double sum,sum1;
    while(~scanf("%d%d",&n,&k))
    { sum=200;sum1=n;
    for(i=0;i<20;i++)
    {
    	if(sum1>=sum)break;
    sum=sum*(1+k*1.0/100);
    sum1+=n;
    
    }
    if(i>19)printf("Impossible\n");
    else printf("%d\n",i+1);
    
    }
    	return 0;
    }
    
    

    C++ :

    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int N,K;
    	while(cin>>N>>K)
    	{
    		float price = 200;
    		float earn  = N;
    		int year =1;
    		while( earn <price )
    		{	//每年一次循环 
    			if(year>20)
    			{	
    				cout<<"Impossible"<<endl;
    				break;
    			}
    			//cout<<"year: "<<year<<"earn:"<<earn<<"price"<<price<<endl;
    			earn += N;//总收入增加 
    			price = price*(1.0+(float)K/100);//房价增加 
    			year++;
    		}
    		if(year<=20)
    			cout<<year<<endl;
    	}
    	return 0;
    }
    

    Java :

    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner shuru = new Scanner(System.in);
            while(shuru.hasNext())
            {
                    int N = shuru.nextInt();
                    int K = shuru.nextInt();
                    int flag = 0;
                    for (int i = 0; i<20; i++) {
                        if (N*(i+1) >= 200 * Math.pow(1.0+K/100.0,i)) {
                            System.out.println(i+1);
                            flag = 1;
                            break;
                        }
                    }
                    if (flag == 0)
                        System.out.printf("Impossible\n");
            }
        }
    }
    
    
    • 1

    信息

    ID
    1474
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者