"Une série d'étapes pour faire le travail" [^ 1]
Problème: je veux faire cuire du riz brun (nouveau riz) [^ 2] délicieusement.
Comment faire cuire un délicieux riz brun (= ceci est ** "algorithme" **)
Si vous suivez la méthode de cuisson de ▲, vous pouvez cuisiner délicieusement avec une cuisinière à gaz, une cuisinière électrique ou une IH. ▲ En premier lieu, vous pouvez cuisiner avec un cuiseur à riz sans cuisson dans une casserole.
6 mai 2010 14:47 (heure de l'Est) La moyenne Dow a chuté de 1000 $ en 3 minutes (= ** Flash Crash **)
Raisons possibles de ce phénomène: détails encore inconnus
・ À cette époque, il y avait un sentiment de crise dans le monde entier selon lequel le gouvernement grec ferait défaut, et lorsque cela se produisait, il y avait une peur de tomber dans une crise financière mondiale. ・ L'algorithme utilisé par un gestionnaire de fonds a vendu pour 4 milliards de dollars de contrats à terme sur actions trop rapidement, et d'autres algorithmes ont répondu. ・ Plusieurs commerçants se sont entendus et ont tenté de plonger le marché en utilisant plusieurs algorithmes
Ecrire un algorithme pour trouver la hiérarchie en utilisant la récurrence (Ruby / Python / Java / Swift)
factiorial.rb
def factorial(number)
if number == 0
1
else
number * factorial(number - 1)
end
end
(0..20).each do |i|
puts "#{i}! = #{factorial(i)}"
end
factiorial.py
def factorial(number):
if(number==0):
return 1
else:
return number * factorial(number-1)
for i in range(1,20+1):
print(str(i) + "! = " + str(factorial(i)))
Factorial.java
class Factorial{
public static int factorial(int number){
if (number == 0){
return 1;
} else {
return number * factorial(number - 1);
}
}
public static void main(String[] args){
for(int i=1; i<=20; i++){
System.out.println(i + "! = " + (factorial(i)));
}
}
}
factorial.swift
func factiorial(_ number:Int) -> Int{
if(number==0){
return 1
} else {
return number * factiorial(number-1)
}
}
for i in 0...20 {
print("\(i)! = \(factiorial(i))")
}
factorial.js
const factorial = (number)=>{
if(number===0){
return 1;
} else {
return number * sample(number-1);
}
}
for(let i=1; i<=20; i++){
console.log(`${i}! = ${factorial(i)}`);
}
Ruby/Python/Swift/Résultat de sortie JS
0! = 1
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
11! = 39916800
12! = 479001600
13! = 6227020800
14! = 87178291200
15! = 1307674368000
16! = 20922789888000
17! = 355687428096000
18! = 6402373705728000
19! = 121645100408832000
20! = 2432902008176640000
Résultat de sortie Java
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
11! = 39916800
12! = 479001600
13! = 1932053504
14! = 1278945280
15! = 2004310016
16! = 2004189184
17! = -288522240
18! = -898433024
19! = 109641728
20! = -2102132736
Recherche linéaire Dichotomie Recherche de hachage
2018/11/03 Publié 2018/11/19 Ajout du code JS et changement de titre 2018/12/01 Ajout d'un lien pour la recherche linéaire 2018/12/02 Lien ajouté pour la recherche de dichotomie / hachage
・ Christopher Steiner (Traduction: Ryo Nagamine) "Les algorithmes dominent le monde" (KADOKAWA, 2013) ・ Thomas H. Colmen (Traduction: Takahiro Nagao) "Bases des algorithmes" (Nikkei BP, 2016) ・ Nobuhiro Shibata "Algorithmes et structures de données Java nouveaux et clairs" (SB Creative, 2017)
[^ 1]: "Bases de l'algorithme" p15 [^ 2]: Je cuisine du riz dans une marmite parce que je n'ai pas de cuiseur à riz à la maison et je ne veux pas augmenter les choses autant que possible. [^ 3]: "Les algorithmes dominent le monde" pp.5-10
Recommended Posts