演算法----冰雹序列
冰雹數
任意給定一個正整數N
如果是偶數,執行: N / 2
如果是奇數,執行: N * 3 + 1
生成的新的數字再執行同樣的動作,迴圈往復。
通過觀察發現,這個數字會一會兒上升到很高, 一會兒又降落下來。 就這樣起起落落的,但最終必會落到“1” 這有點像小冰雹粒子在冰雹雲中翻滾增長的樣子。
package Hailstone ; public class Hailstone { //計算冰雹猜想的長度 //一個數,若n為奇數,則n=3n+1;若n為偶數,則n=n/2 public static void main(String[] args) { System.out.println(function(27)); } public static int function(int n) { int length = 1; while(n>1) { n= (n%2==0)?n/2:3*n+1; length++; } return length; } }
相關推薦
演算法----冰雹序列
冰雹數 任意給定一個正整數N 如果是偶數,執行: N / 2 如果是奇數,執行: N * 3 + 1 生成的新的數字再執行同樣的動作,迴圈往復。 通過觀察發現,這個數字會一會兒上升到很高, 一會兒又降落下來。 就這樣起起落落的,但最終必會落到“1” 這有點像小冰雹粒子在冰雹雲中翻滾增長的樣子。
機器學習演算法 - 時間序列系1 -時序模式概念
時序模式 1 時間序列演算法 2 時間序列的預處理 2.1 平穩性檢驗 2.2 純隨機性檢驗 3 平穩時間序列分析 3.1 AR模型 3.2 MA模型 3.3 ARMA模型 3.4 平穩
基於有理逼近演算法的序列密碼的有理分數表示
題目描述 已知一條二元序列a(n)=(a0, a1, ..., an-1). 對1 ≤ k ≤ n, 求有限序列a(k)=(a0, a1, ..., ak-1)的有理分數表示. 序列a(n)請參見附件“sequence.txt”, 其中n = 1966000 設a(n)=
Robbins-Monro 隨機逼近演算法和序列學習(Sequential Learning)
ε為隨機誤差,所以必定有E[Y]=E[h(x)+ε]=h(x), 也就是說,所取得的值雖然不準確,確實在準確值附近波動的。那麼如果準確值大於0,波動以後的值也大於0,最終修訂的方向就沒有錯誤,所以波動在這種情況所造成的影響只是稍微改變了一點步長,這對於收斂性本身毫無影響;但是如果波動以後的值是小於0的,最終
查詢演算法——找到序列中第二大的數
今天來說一個簡單的需求:在一個序列中找到第二大的元素。 一眼看到這個問題,感覺解決的方法有很多,因為這並不是一個困難的問題。隨便一想,能有下面幾種解法: 1 首先排序,然後取第二個位置的元素 2 迴圈遍歷元素序列,找到最大的元素,然後將其移除。再重複此過程,得到第二大的元素
莫隊演算法——解決序列上詢問的利器 (2) 帶修改的莫隊
普通的莫隊戳這裡。 還是考慮類似的問題:有一個長為N序列,有M個操作:1.詢問:在區間[L,R]內,出現了多少個不同的數字。2.修改,將第x個數改為v(序列中所有數字均小於K)。題目會給出K。 做法其實是類似的,只是要考慮更新的問題。 有一
SVM中的訓練演算法:序列最小最優化演算法SMO的讀書筆記
最近重看李航的統計學習方法,看SVM這章,細細的對了一下其中將SMO的這一張,記得去年這會兒看這本書的SMO這章還有點懵懵懂懂,並在書上寫了自己一些疑問的筆記,今年重新看發現之前的疑問不再是疑問了,於是做個筆記總結一下,總結一下。 首先線性可分支援向量機的構建條件是需要線性
莫隊演算法——解決序列上詢問的利器
問題: 有一個長為N序列,有M個詢問:在區間[L,R]內,出現了多少個不同的數字。(序列中所有數字均小於K)。題目會給出K。 莫隊演算法就是滋磁解決這類問題的離線演算法。(其實很簡單) 首先來看看暴力: 由於暴力還是比較水的,所以直接上: #include <bi
hdu 4358(莫隊演算法+dfs序列)
解題思路:用dfs求出整棵樹的dfs序列,這樣以u為根節點的子樹就轉化到相對應的區間上了。由於是區間不修改查詢問題,這個時候就可以用莫隊演算法了。 #pragma comment(linker, "/STACK:16777216") #include<iost
演算法--倒序列印連結串列--java
使用棧來實現 static class Node{ int data; Node next; public Node(int data, Node
nyoj 17-單調遞增最長子序列(動態規劃,演算法)
clear ron queue orange 處理 描述 clas mes math 17-單調遞增最長子序列 內存限制:64MB 時間限制:3000ms Special Jud
支援向量機—SMO論文詳解(序列最小最優化演算法)
SVM的學習演算法可以歸結為凸二次規劃問題。這樣的凸二次規劃問題具有全域性最優解,並且許多最優化演算法可以用來求解,但是當訓練樣本容量很大時,這些演算法往往變得非常低效,以致無法使用。論文《Sequential Minimal Optimization:A Fast Algori
Newcoder 58 F.序列查詢(莫隊演算法+分塊+連結串列)
Description 給你一個序列 a a a,有
【探索-中級演算法】遞增的三元子序列
最先想到的思路,就是用一個 Map<Integer, List<Integer>>,其中 key 對應下標 index,value 為當 index_x > index 時,如果 nums[index_x] > nums[index],則將
演算法 求一個數組的最長遞減子序列 C
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
演算法 求和為n的連續正整數序列 C
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
演算法 | 最長公共子序列
#include<stdio.h> #include<string.h> #define MaxN 10000 #define MaxC 10000 int Val[MaxN][MaxN]; double binaryKn
Leetcode演算法——31、下一個序列
給定一個序列,按照字典序,輸出下一個序列,使得到的新陣列的字典序恰好大於原陣列。 如果不存在這樣的排列,就將原陣列從小到大排序。 替換必須就地進行,不要分配額外的記憶體。 示例: 1,2,3 → 1,3,2 3,2,1 → 1,2,3 1,1,5 → 1,5,1 思路
資料結構演算法題/最大子序列(一維陣列中和最大的連續子序列)
1首先看一下 最大子序列。 最大子序列是要找出由陣列成的一維陣列中和最大的連續子序列。比如{5,-3,4,2}的最大子序列就是 {5,-3,4,2},它的和是8,達到最大;而 {5,-6,4,2}的最大子序列是{4,2},它的和是6。你已經看出來了,找最大子序列的方法很簡單,只要前i項的和還沒有
資料結構演算法題/兩個字串的最長公共子序列
一,問題描述 給定兩個字串,求解這兩個字串的最長公共子序列(Longest Common Sequence)。比如字串1:BDCABA;字串2:ABCBDAB 則這兩個字串的最長公共子序列長度為4,最長公共子序列是:BCBA 二,演算法求解 這是一個動態規劃的題目。