一个采购员去银行兑换一张yf分的支票,结果出纳员错给了fy分。采购员用去了n分之后才发觉有错,于是清点了余额尚有2y元2f分,问该支票面额是多少?

输入格式:

输入在一行中给出小于100的正整数n

输出格式:

在一行中按格式y.f输出该支票的原始面额。如果无解,则输出No Solution

输入样例1:

  1. 23

输出样例1:

  1. 25.51

输入样例2:

  1. 22

输出样例2:

  1. No Solution

思路:做的不好,实际上是在100内进行循环

  1. #include<stdio.h>
  2. int main(){
  3. int n;
  4. int y, f;
  5. int flag = 0;
  6. scanf("%d", &n);
  7. //(y*100+f)*2-n==f*100+y;
  8. for(y=0; y<100; y++){
  9. for(f=0; f<100; f++){
  10. if((y*100+f)*2+n==f*100+y){
  11. flag = 1;
  12. break;
  13. }
  14. }
  15. if(flag)
  16. break;
  17. }
  18. if(flag)
  19. printf("%d.%d", y, f);
  20. else
  21. printf("No Solution");
  22. return 0;
  23. }