Horners Gesetz
Zufallszahlen generieren
package cn.xf.algorithm.ch02; import java.util.ArrayList; import java.util.List; /** * 生产随机数 * @author xiaof * */ public class Random { /** * 生产一个随机数的数列 * @param n 生成n个数列 * @param m 数据在0和m-1之间 * @param seed 随机初始种子 * @param a 参数 * @param b 参数 * @return */ public static List<Integer> randomNum(int n, int m, int seed, int a, int b) { List<Integer> numbers = new ArrayList<Integer>(); int initData = (a * seed + b) % m; numbers.add(Math.abs(initData)); //初始化一个数据 for(int i = 1; i < n; ++i) { int newData = (a * numbers.get(i - 1) + b) % m; numbers.add(Math.abs(newData)); } return numbers; } /** * 生产一个随机数的数列 * @param n 生成n个数列 * @param m 数据在0和m-1之间 * @param seed 随机初始种子 * @param a 参数 * @param b 参数 * @return */ public static List<Double> randomNumDouble(int n, int m, int seed, int a, int b) { //创建结果数组 List<Double> numbers = new ArrayList<Double>(); int initData = (a * seed + b) % m; //取出一个初始值,在0到m之间 numbers.add((double) Math.abs(initData)); //加入第一个值 //后续数值以前一个数据作为基础种子进行变换 for(int i = 1; i < n; ++i) { double newData = (a * numbers.get(i - 1) + b) % m; numbers.add(Math.abs(newData)); } return numbers; } public static void main(String[] args) { // List<Integer> res = Random.randomNum(10, 10, 998, 58797676, 1); List<Double> res = Random.randomNumDouble(10, 10, 998, 58797676, 1); for(Double a : res) { System.out.print(a + "\t"); } } }
Zufallswertkoeffizient
Auswerten
package cn.xf.algorithm.ch06ChangeRule; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.junit.Test; import cn.xf.algorithm.ch02.Random; /** * * 功能:霍纳法则 * @author xiaofeng * @date 2017年7月13日 * @fileName HornerRule.java * */ public class HornerRule { /** * 用霍纳法则求一个多项式在一个给定点的值 * 输入:一个n次多项式的系数数组P【0...n】(从低到高存储),以及一个数字x * 输出:多项式在x点的值 * @param p * @param x */ public Double horner(List<Double> p, int x) { if(p == null || p.size() <=0) { return 0d; } //求结果集 Double result = p.get(p.size() - 1); for(int i = p.size() - 2; i >= 0; --i) { //累计往后添加系数数据 //一次从大到小吧X的系数乘以X, 然后加上下一个次数等级的系数,然后求和,作为新的下一个次数的系数乘数 result = result * x + p.get(i); } return result; } /** * 普通计算方式 * @param p * @param x * @return */ public Double notHorner(List<Double> p, int x) { if(p == null || p.size() <=0) { return 0d; } //p是系数存储列表 Double result = 0d; //0次幂的 for(int i = 0; i < p.size(); ++i) { result += p.get(i) * doublePow(x, i); } return result; } //求x的n次幂 public static Double doublePow(double x, int n) { if(x == 0) return 0d; if(n == 0) return 1d; Double result = 1d; for(int i = 0; i < n; ++i) { result *= x; } return result; } @Test public void test1() { //定义的一个数组是方程式的系数,第二个参数是未知数的值 //方程:y=5x^5 + 3x^4 + 2x^2 + 3 //当x为4的时候 HornerRule hr = new HornerRule(); List<Double> xishus = new ArrayList<Double>(); //这个数组的顺序要按照,0次幂到N次幂的顺序来 xishus.addAll(Arrays.asList(3d, 0d, 2d, 0d, 3d, 5d)); System.out.println(hr.horner(xishus, 4)); //一般方式计算 System.out.println(hr.notHorner(xishus, 4)); System.out.printf("JOB START OUTPUT: %tF %<tT%n", System.currentTimeMillis()); } @Test public void compare() { // 当x为4的时候 HornerRule hr = new HornerRule(); // 建造100个随机数 List<Double> xishus = Random.randomNumDouble(600, 3, 998, 58797676, 1); //求值 System.out.printf("JOB HORNER START OUTPUT: %tF %<tT%n", System.currentTimeMillis()); System.out.println(hr.notHorner(xishus, 3)); System.out.printf("JOB HORNER END OUTPUT: %tF %<tT%n", System.currentTimeMillis()); System.out.println("######################################################################################"); System.out.printf("JOB NOTHORNER START OUTPUT: %tF %<tT%n", System.currentTimeMillis()); System.out.println(hr.notHorner(xishus, 3)); System.out.printf("JOB NOTHORNER END OUTPUT: %tF %<tT%n", System.currentTimeMillis()); } }
Das obige ist der detaillierte Inhalt vonHorners Gesetz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











So implementieren Sie Datenstatistiken und -analysen in uniapp 1. Hintergrundeinführung Datenstatistiken und -analysen sind ein sehr wichtiger Teil des Entwicklungsprozesses für mobile Anwendungen. Durch Statistiken und Analysen des Benutzerverhaltens können Entwickler ein tiefgreifendes Verständnis der Benutzerpräferenzen und -nutzung erlangen Gewohnheiten. Dadurch werden Produktdesign und Benutzererfahrung optimiert. In diesem Artikel wird die Implementierung von Datenstatistiken und Analysefunktionen in uniapp vorgestellt und einige spezifische Codebeispiele bereitgestellt. 2. Wählen Sie geeignete Datenstatistik- und Analysetools. Der erste Schritt zur Implementierung von Datenstatistiken und -analysen in uniapp besteht darin, die geeigneten Datenstatistik- und Analysetools auszuwählen.

Zusammenfassung der Python-Anwendungsfallanalyse in intelligenten Transportsystemen: Mit der rasanten Entwicklung intelligenter Transportsysteme wird Python als multifunktionale, einfach zu erlernende und zu verwendende Programmiersprache häufig bei der Entwicklung und Anwendung intelligenter Transportsysteme verwendet. Dieser Artikel demonstriert die Vorteile und das Anwendungspotenzial von Python im Bereich des intelligenten Transports, indem er Anwendungsfälle von Python in intelligenten Transportsystemen analysiert und relevante Codebeispiele angibt. Einleitung Ein intelligentes Transportsystem bezieht sich auf die Nutzung moderner Kommunikations-, Informations-, Sensor- und anderer technischer Kommunikationsmittel

Titel: Analyse der Gründe und Lösungen, warum das sekundäre Verzeichnis von DreamWeaver CMS nicht geöffnet werden kann. Dreamweaver CMS (DedeCMS) ist ein leistungsstarkes Open-Source-Content-Management-System, das häufig bei der Erstellung verschiedener Websites verwendet wird. Allerdings kann es beim Erstellen einer Website manchmal vorkommen, dass das sekundäre Verzeichnis nicht geöffnet werden kann, was zu Problemen beim normalen Betrieb der Website führt. In diesem Artikel analysieren wir die möglichen Gründe, warum das sekundäre Verzeichnis nicht geöffnet werden kann, und stellen spezifische Codebeispiele zur Lösung dieses Problems bereit. 1. Mögliche Ursachenanalyse: Pseudostatisches Regelkonfigurationsproblem: während der Verwendung

Titel: Ist Tencents wichtigste Programmiersprache Go: Eine eingehende Analyse Als Chinas führendes Technologieunternehmen hat Tencent bei der Auswahl seiner Programmiersprachen schon immer große Aufmerksamkeit auf sich gezogen. In den letzten Jahren glauben einige Leute, dass Tencent hauptsächlich Go als Hauptprogrammiersprache übernommen hat. In diesem Artikel wird eine eingehende Analyse durchgeführt, ob die Hauptprogrammiersprache von Tencent Go ist, und es werden konkrete Codebeispiele angegeben, um diese Ansicht zu untermauern. 1. Anwendung der Go-Sprache in Tencent Go ist eine von Google entwickelte Open-Source-Programmiersprache. Viele Entwickler schätzen ihre Effizienz, Parallelität und Einfachheit.

Analyse der Ursachen und Lösungen für Tomcat-Abstürze. Einführung: Mit der rasanten Entwicklung des Internets werden immer mehr Anwendungen entwickelt und auf Servern bereitgestellt, um Dienste bereitzustellen. Als allgemeiner JavaWeb-Server wird Tomcat häufig in der Anwendungsentwicklung eingesetzt. Manchmal kann es jedoch zu Problemen mit dem Absturz von Tomcat kommen, was dazu führt, dass die Anwendung nicht ordnungsgemäß ausgeführt wird. In diesem Artikel wird die Analyse der Ursachen des Tomcat-Absturzes vorgestellt, Lösungen bereitgestellt und spezifische Codebeispiele gegeben.

Analyse der Vorteile und Grenzen der statischen Positionierungstechnologie Mit der Entwicklung moderner Wissenschaft und Technologie ist die Positionierungstechnologie zu einem unverzichtbaren Bestandteil unseres Lebens geworden. Als eine davon hat die statische Positionierungstechnologie ihre einzigartigen Vorteile und Grenzen. In diesem Artikel wird eine eingehende Analyse der statischen Positionierungstechnologie durchgeführt, um ihren aktuellen Anwendungsstatus und zukünftige Entwicklungstrends besser zu verstehen. Werfen wir zunächst einen Blick auf die Vorteile der statischen Positionierungstechnologie. Die statische Positionierungstechnologie erreicht die Bestimmung von Positionsinformationen durch Beobachtung, Messung und Berechnung des zu positionierenden Objekts. Im Vergleich zu anderen Positionierungstechnologien

Wie verwende ich C++ für die Bildverarbeitung und -analyse in Echtzeit? Mit der Entwicklung von Computer Vision und Bildverarbeitung erfordern immer mehr Anwendungen die Verarbeitung und Analyse von Echtzeitbildern. Als effiziente und leistungsstarke Programmiersprache wird C++ häufig im Bereich der Bildverarbeitung eingesetzt. In diesem Artikel wird die Verwendung von C++ für die Bildverarbeitung und -analyse in Echtzeit vorgestellt und einige Codebeispiele bereitgestellt. 1. Lesen und Anzeigen von Bildern Vor der Bildverarbeitung müssen zunächst die Bilddaten aus einer Datei oder Kamera gelesen und das verarbeitete Bild angezeigt werden. Erste

Methoden und Techniken zur Entwicklung und Implementierung verteilter Protokollanalysesysteme mithilfe der Go-Sprache Zusammenfassung: Mit dem Aufkommen des Big-Data-Zeitalters ist die Protokollanalyse zu einer wesentlichen Aufgabe für Unternehmen geworden. In diesem Artikel werden die Methoden und Techniken zum Entwickeln und Implementieren eines verteilten Protokollanalysesystems basierend auf der Go-Sprache vorgestellt. Der Artikel bietet eine detaillierte Analyse unter den Aspekten Systemarchitekturdesign, Datenerfassung, verteilte Verarbeitung, Datenspeicherung und -abfrage usw. und stellt den Lesern eine Reihe praktischer Richtlinien zur Verfügung. Schlüsselwörter: Go-Sprache; Protokollanalyse 1. Einführung Mit der rasanten Entwicklung des Internets und intelligenter Geräte
