1. 程式人生 > >求一維陣列的最小公倍數

求一維陣列的最小公倍數

#include <stdio.h>
#include <stdlib.h>
int fun(int a,int b)
{
    int temp;
    int x,y;
    x=a;
    y=b;
    while(b)
    {
        temp=b;
        b=a%b;
        a=temp;
    }
    return x/a*y;
}
int main()
{
    int n,i,a[100];      //設定一個較大的空間,輸入陣列個數不能超過100
    printf("請輸入陣列個數(小於100個):");
    scanf
("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=1;i<n;i++) a[i]=fun(a[i],a[i-1]); //呼叫函式 printf("%d\n",a[n-1]); return 0; }

執行列子:
這裡寫圖片描述

相關推薦

陣列小公倍數

#include <stdio.h> #include <stdlib.h> int fun(int a,int b) { int temp; int x,y;

兩個數的小公倍數

個數 actor arr == int ++ str div osi #include <iostream> #include <vector> #include<algorithm> using namespace std; /*

陣列大連續子陣列

#include "stdafx.h" #include "stdio.h" #include "stdlib.h" int _tmain(int argc, _TCHAR* argv[]) { int x[3][3] = {0}; int sum = 0; int max = 0; int

c++陣列標準差

最近寫的一段c++演算法中需要計算標準差,於是就造了個輪子,順便記錄下來… 看公式,可以推斷出計算標準差分為幾步: 計算平均值u=(x1+x2+…+xn)/n 計算方差s²=((x1-u)^2 +(x2-u)^2 +…+(xn-u)^2)/n

深入淺出學演算法004-多個數的小公倍數

4003: 深入淺出學演算法004-求多個數的最小公倍數 Time Limit: 1 Sec Memory Limit: 64 MB Submit: 3630 Solved: 983 Description 求n個整數的最小公倍數 Input 多組測試資料,先輸入整數T表示組數 然後

n個數的小公倍數

騰訊2018秋招筆試題(研發類),程式設計題第一題: 輸入:n m為離n最近的整數,且m要滿足: {n+1,n+2,...,m}的最小公倍數和{1,2,3,...,m}的最小公倍數相同。 輸出:m import java.util.Arrays; import ja

JavaScript陣列的第三大值

求一個足夠長的一維陣列中第三大值,陣列中元素全是number型別的 1、使用排序的方法 可以降序或升序排序,這種方法可以求得任意第幾大或第幾小的值 // 排序的方法有很多,以氣泡排序 降序為例: var arr = [6, 10, 9, 3, 8, 15

Java三個數的小公倍數演算法改進(化境)

回顧之前的博文,一路走來,從“從3個數中的任意一個數開始求餘、遞減”;再到“3個數的最大公約數必然小於或等於其中最小的數”;再到“先用for迴圈對最小數求餘再對其他數求餘”;然後在第3次改進時又“直接對

Problem C: 深入淺出學演算法004-多個數的小公倍數

Description 求n個整數的最小公倍數 Input 多組測試資料,先輸入整數T表示組數 然後每行先輸入1個整數n,後面輸入n個整數k1 k2...kn Output 求k1 k2 ...kn的最小公倍數 Sample Input 1 3 12 18 6

Java三個數的小公倍數演算法優化

回顧之前的博文,一路走來,從《Java求3個數的最大公約數(3個數都是正整數)》一文中的“從3個數中的任意一個數開始求餘、遞減”;再到《Java求3個數的最大公約數演算法優化(3個數都是正整數)》一文中的“3個數的最大公約數必然小於或等於其中最小的數”;經歷了這些演算法上的改進之後,我越來越發覺

多個數的小公倍數

求多個數的最小公倍數 ZSTU Description 求n個整數的最小公倍數 Input 多組測試資料,先輸入整數T表示組數 然後每行先輸入1個整數n,後面輸入n個整數k1 k2...kn Output 求k1 k2 ...

數學演算法:多個數的小公倍數

解體心得: 1、一開始我的演算法是找出最大的那個數,再將那個數一倍一倍的相加,但是會超時,因為題目的限制是32bits。(過於天真) 2、運用小學奧數的演算法,多個數的最小公倍數,先將兩個數的最小公

JAVA多個數的小公倍數

import java.util.Scanner; /*Problem Description 求n個數的最小公倍數。 Input 輸入包含多個測試例項,每個測試例項的開始是一個正整數n,然後是n個正整數。 Output 為每組測試資料輸出它們的最小公倍數,每個測試例項的輸

陣列小值----利用函式呼叫形式(2種方法)

(1)利用氣泡排序思想求二維陣列中的最大值 /* 利用函式呼叫形式,傳遞二維陣列名進行函式呼叫 設計求二維陣列中最小值、最大值的函式,在主函式中呼叫 利用氣泡排序思想求二維陣列最大值。 演算法思想:先對各行進行一次氣泡排序,使每行的最後一個數為當前行中最大值, 即二維

藍橋杯--3個數的小公倍數

          細心的人不難發現,這個坑爹的藍橋杯的OJ做的如此之粗糙與惡劣,還設定了坑爹的VIP,想錢之瘋魔程度,簡直是不忍直視啊。題目上面說1~N-1, 後面給的樣例就變成的從1~N裡面篩選,這種赤裸裸的扇自己臉的行為,我只能呵呵了。        小規模

C_使用while語句兩整數的小公倍數大公約數

 原始碼: # include <stdio.h>   int main() {     int x, y, num1, num2, temp;     printf("請輸入兩個正整數:/n");     scanf("%d %d", &num

n個數的小公倍數大公約數

兩種方法,一是常規做法,二是遞迴做法; #include <cstdio> #include <iostream> using namespace std; int v[4]=

CSU 1124: 最終時刻(所有數的小公倍數

題目:Description外太空又發生戰爭了.機器人王國決定用N架炮臺消滅敵人的供需庫,但是無奈每架炮臺的威力有限,現在國王得到一個訊息:如果在某一時刻N架炮臺同時打到敵人的供需庫,那麼這個供需庫就會

藍橋杯 自然數序列的小公倍數

為什麼1小時有60分鐘,而不是100分鐘呢?這是歷史上的習慣導致。 但也並非純粹的偶然:60是個優秀的數字,它的因子比較多。 事實上,它是1至6的每個數字的倍數。即1,2,3,4,5,6都是可以除盡60。 我們希望尋找到能除盡1至n的的每個數字的最小整數。 不要小看這個數字

組數據的大公約數和小公倍數

valid 約數 public argc oid pos define min 最小 求最大公約數采用輾轉相除法 求最小公倍數 = 最大公約數 * (A/最大公約數)*(B/最大公約數) //#include<stdafx.h> #include<