C# - 习题07_计算1分2分5分硬币各有多少枚
生活随笔
收集整理的這篇文章主要介紹了
C# - 习题07_计算1分2分5分硬币各有多少枚
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
- 時(shí)間:2017-09-08 整理:byzqy
題目:現(xiàn)在有1分、2分、5分硬幣共100個(gè),總金額為2.46元,請(qǐng)用程序計(jì)算出1分、2分、5分各有多少枚,有多少種算法?
這是最近面試遇到的一個(gè)題目,剛開(kāi)始沒(méi)有思路,一看這是一個(gè)三元一次方程組,假設(shè)個(gè)數(shù)分別為a、b、c的話,就會(huì)有三個(gè)未知數(shù)和兩個(gè)方程組,怎么解?數(shù)學(xué)真是白學(xué)了!
于是在網(wǎng)上搜到了這個(gè)題目,不過(guò)題目略有不同:
文件:Program1.cs
//問(wèn)題:1分2分5分硬幣,一共2.46元,求各種硬幣的個(gè)數(shù) //回答:你沒(méi)說(shuō)明是不是求需要的最少的硬幣的個(gè)數(shù),因?yàn)檫@樣有上千種組成,所以我就給你寫(xiě)個(gè)控制臺(tái)的,求需要最少的硬幣個(gè)數(shù)吧using System;namespace ConsoleApplication1 {class Program1{static void Main(string[] args){int money = 246; //總共246分int number5; //number5表示需要5分的硬幣個(gè)數(shù)int number2; //number2表示需要2分的硬幣個(gè)數(shù)int number1; //number1表示需要1分的硬幣個(gè)數(shù)number5 = money / 5;number2 = (money % 5) / 2;number1 = money % 5 % 2;Console.WriteLine("需要:" + "\n"+ "5分的硬幣:" + number5 + "個(gè)" + "\n"+ "2分的硬幣:" + number2 + "個(gè)" + "\n"+ "1分的硬幣:" + number1 + "個(gè)");Console.ReadLine();}} }運(yùn)行結(jié)果:
按照這個(gè)哥們兒的思路,設(shè)置三個(gè)未知數(shù)這一點(diǎn)與我是相同的,他給我的啟發(fā)有下面幾點(diǎn):
?
文件:Program2.cs
using System;namespace ConsoleApplication2 {class Program2{static void Main(string[] args){int money = 246; //總共246分int amount = 100;int number5; //number5表示需要5分的硬幣個(gè)數(shù)int number2; //number2表示需要2分的硬幣個(gè)數(shù)int number1; //number1表示需要1分的硬幣個(gè)數(shù)int count = 0;for (int i = 0; i < money/5; i++){number5 = i;number2 = money - amount - 4 * number5;number1 = 3 * number5 - money + 2 * amount;if (number2 >= 0 && number1 >= 0){Console.WriteLine("5分:{0}個(gè),2分:{1}個(gè),1分:{2}個(gè)", number5, number2, number1);count++;}}Console.WriteLine("共有{0}種算法……", count);Console.ReadLine();}} }計(jì)算結(jié)果:
到此結(jié)束,如果上述過(guò)程中有任何的錯(cuò)誤或者誰(shuí)有更好的方法,希望看到的朋友不吝賜教,多多指點(diǎn)!
?
轉(zhuǎn)載于:https://www.cnblogs.com/jswl/p/7492678.html
總結(jié)
以上是生活随笔為你收集整理的C# - 习题07_计算1分2分5分硬币各有多少枚的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 现代密码学之对称加密-DES及AES算法
- 下一篇: C#读取一个双精度浮点数Double方法