PTA刷题笔记(C语言) | 7-38 支票面额 (15分)

开始刷题,感觉代码量和基础太渣了,导致数据结构不会,重头慢慢刷吧~
在这里插入图片描述


1、题目

在这里插入图片描述
输入样例1:

23

输出样例1:

25.51

输入样例2:

22

输出样例2:

No Solution


2、代码

#include<stdio.h>
int main(){
    int N;
    scanf("%d",&N);
    int f,y,flag=0;
    for(f=0;f<100;f++){
    	for(y=0;y<49;y++){
    		if(98*f-199*y==N){
    			printf("%d.%d",y,f);
    			flag=1;
    			break;
			}
		}
	}
	if(!flag){
		printf("No Solution");
	}
    return 0;
}

在这里插入图片描述

3、讨论

这个题很有意思的哈,需要你稍微用点函数知识。

// 2*y*100+2*f==f*100+y-n
// 200y+2f==100f+y-n  数学公式
// 199y-98f=-n
// n=98f-199y
// 小于100的正整数n
// 姑且假设n=100
// 100=98f-199y =》 y=(98f-100)/199
// f表示几分钱,0<=f<100 
// 所以y的范围就是:
// y>0;
// y<49;

妙啊!!!
在这里插入图片描述
在这里插入图片描述

发布了253 篇原创文章 · 获赞 5195 · 访问量 87万+

猜你喜欢

转载自blog.csdn.net/TeFuirnever/article/details/105456455