Accueil > > > CARRÉ PAR MÉTHODE DE L'ABAQUE
CARRÉ PAR MÉTHODE DE L'ABAQUE
Information sur la source
Description
Calcul du carré par une méthode particuliere qui est normalement utilisée pour calculer les carrés de tête. Elle repose sur la particularité des carrés des nombres finissant par 5, exemple 35 on prend le nombre sans le 5 est on le multiplie par son successeur 3*4=12 et on écrit ensuite 25 donc 35²=1225. Puis on trouve les autres carrés en utilisant la propriété (n+1)²=n²+2n+1. Je pensais que cette méthode serait plus rapide pour certains nombres au moins pour ceux finissant par 5, ce qui n'est pas toujours le cas, j'ai d'abord hésité à poster et je le fait quand même parce que j'aime bien cette méthode...
Source
- Public Function Carré(n As Long) As Long
- Dim a As Long
- Dim i As Long 'compteur de boucle
- Dim fin As Long 'nombre de boucles à effectuer
- Dim c As Long 'résultat des différents carrés
-
- a = n
-
-
- Do While a Mod 5 <> 0
- a = a - 1
- Loop
- 'on a alors a qui est le multiple de 5 inférieur à n le plus proche de n
-
- If a Mod 10 = 0 Then
- a = a - 5
- End If
- 'on veut que a ne soit pas un multiple de 10
-
- c = (Fix(a / 10) * (Fix(a / 10) + 1)) * 100 + 25
- 'si a est au départ plus petit que 5, le a final sera égal à -5 mais cela ne change rien car cette derniere opération donnera un nombre positif
-
- fin = n - a
- 'est cette opération sera un compteur décroissant si a<5
-
-
- For i = 1 To fin
- c = c + 2 * a + 1
- a = a + 1
- 'cette opération est tres simple, elle repose sur la propriété
- '(n+1)²=n²+2n+1
- Next i
-
- Carré = c
-
- End Function
Public Function Carré(n As Long) As Long
Dim a As Long
Dim i As Long 'compteur de boucle
Dim fin As Long 'nombre de boucles à effectuer
Dim c As Long 'résultat des différents carrés
a = n
Do While a Mod 5 <> 0
a = a - 1
Loop
'on a alors a qui est le multiple de 5 inférieur à n le plus proche de n
If a Mod 10 = 0 Then
a = a - 5
End If
'on veut que a ne soit pas un multiple de 10
c = (Fix(a / 10) * (Fix(a / 10) + 1)) * 100 + 25
'si a est au départ plus petit que 5, le a final sera égal à -5 mais cela ne change rien car cette derniere opération donnera un nombre positif
fin = n - a
'est cette opération sera un compteur décroissant si a<5
For i = 1 To fin
c = c + 2 * a + 1
a = a + 1
'cette opération est tres simple, elle repose sur la propriété
'(n+1)²=n²+2n+1
Next i
Carré = c
End Function
Conclusion
J'ai ajouté un programme de test de rapidité des différentes fonctions.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
calcul aire et volume [ par SDan ]
Bonjour,J'aimerais calculer l'aire et le volume de certaines formes géométriques (carré, rectangle, ...). Ds une première feuille, j'ai créer des b
calcul date et heure [ par dauphin70 ]
bonjour, je suis débutante sous vb6 et j'ai un problème pour calculer une duréeen fait à partir d'une date d'arrêt, d'une heure d'arrêt, une date de m
probleme de calcul [ par dauphin70 ]
bonjourje suis sous vb6quand je clique sur le bouton valider de ma frm, ca enregistre les renseignements dans ma table pieceInter, mais j'aimerai auss
Optimisation [ par Kabutosama ]
Bonjour,J'aimerais utiliser le programme suivant sous VB pour Excel:Prennant en parametres des constantes a,b,c,d,e,f figurant dans les cellules d'une
calcul d'heure [ par dauphin70 ]
salutcomment faire pour soustraire des dates et des heures pour trouver la duree du temps d'arret des machines en nombre d'heures??exemple : une machi
Calcul avec les date (Excel [ par BetaTester ]
BonjourVoila mon probleme :J'ai une base de données qui contient des dates dans la colonne A, j'ai besoin de calculer le nombre de cellules compris en
fonction de calcul [ par syltab ]
BonjourJ'ai une feuille excel qui comporte pas mal de macro avec des useforms qui se serve de cette feuilleQuand je clique sur une autre feuiille, cel
Temps de calcul ... [ par MaxSoldier ]
Je Désirerait pouvoir obtenir le temps passé entre 2 action de mon programme. Ja précise que j'ai utilisé la méthodes des timers qui ne marche pas éta
petit carré supprimer [ par allowen ]
Bonjour à tous,je suis en train d'insérer des données d'une base access sur une feuille excel et j'utilise VbCrLf pour un retour à la ligne mais à cha
calcul tres balaise [ par bobo91 ]
bonjour tous le monde.j'aimerais savoir s'il etait possible de trouver une solution tres rapide pour un tel calcul avec vb6.et si oui quelqu'un pourra
|
Derniers Blogs
[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc
Forum
RE : VITESSERE : VITESSE par Renfield
Cliquez pour lire la suite par Renfield
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|