|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<stdio.h>
- int main()
- {
- int i,j,k,m,n;
- while(scanf("%d %d",&n,&k)!=EOF)
- {
- m=n;
- j=1;
- for(i=200;n<i;n+=m)
- {
- j++;
- i+=k;
- }
- if(j<=20) printf("%d\n",j);
- else printf("Impossible\n");
- }
- return 0;
- }
复制代码
这是题目
某程序员开始工作,第一年年薪 N 万,他希望在新区买一套 60 平米,现价为 200 万的房子。假设房子价格以每年 K 万元增长,并且该程序员未来税后年薪不变,且不吃不喝,每年所得 N 万全都积攒起来,问第几年能够买下这套房子?
输入描述
有多组测试数据,每组测试数据占一行。
每一行包含两个正整数 N (10 ≤ N ≤ 50) 和 K (1 ≤ K ≤ 20),中间用单个空格隔开。
输出描述
如果在第 20 年或者之前就能买下这套房子,则输出一个整数 M,表示最早需要在第 M 年能买下,否则输出 "Impossible"。
样例输入
50 10
12 2
1 5
样例输出
5
20
Impossible
本帖最后由 jackz007 于 2022-4-15 11:15 编辑
- #include <stdio.h>
- int main(void)
- {
- int a , b , c , e , K , N ;
- bool f ;
- for(f = true ; f ;) {
- for(; f ;) {
- printf("Input N & K (10 <= N <= 50 , 1 <= K <= 20) : ") ;
- e = scanf("%d%d" , & N , & K) ;
- if(e == 2) {
- if(N >= 10 && N <= 50 && K >= 1 && K <= 20) break ;
- else printf("Error : Invalid data\n\n") ;
- } else {
- if(e == EOF) {
- f = false ;
- break ;
- } else {
- if(! e) fflush(stdin) ;
- printf("Error : Invalid data\n\n") ;
- }
- }
- }
- if(f) {
- c = (200 - K) / (N - K) ;
- if((200 - K) % (N - K)) c ++ ;
- if(N > K) printf("%d\n" , c) ;
- else printf("Impossible\n") ;
- }
- }
- }
复制代码
编译、运行实况:
- D:\[00.Exercise]\[C]>g++ -o x x.c
- D:\[00.Exercise]\[C]>x
- Input N & K (10 <= N <= 50 , 1 <= K <= 20) : 50 10
- 5
- Input N & K (10 <= N <= 50 , 1 <= K <= 20) : 12 2
- 20
- Input N & K (10 <= N <= 50 , 1 <= K <= 20) : 1 5
- Error : Invalid data
- Input N & K (10 <= N <= 50 , 1 <= K <= 20) : ^Z
- D:\[00.Exercise]\[C]>
复制代码
【说明】:由于题目要求 N (10 ≤ N ≤ 50) 和 K (1 ≤ K ≤ 20),所以, N = 1,K = 5 属于无效输入。
|
|