vijos - P1279Leave-綠光(數學歸納法 + python)

來源:互聯網
上載者:User

標籤:

P1279Leave-綠光Accepted標籤:[顯示標籤]背景

期待這一份幸運,和一份衝勁,多麼奇妙的際遇……。燕姿在演唱完綠光這首歌后,出給了姿迷一個考題。

北歐有一個傳說!
人一生中能看見綠光!
他就一生都可以得到幸福!

描述

燕姿唱完這首歌,天上降落了一道綠光,在地上形成了一個矩形的映射,矩形的長為a,寬為b。燕姿向姿迷出了一個考題,誰能夠把這個矩形綠光陣分成若干個正整數的正方形,誰的正方形邊長之和最小,他就將得到燕姿的一個合影。姿迷們都很想得到合影,可是怎麼分才最小呢?大家都束手無策,現在,這個問題交給你了。

歌迷X:嗚嗚嗚,俺的語文不好,聽不懂你在講什麼。

燕姿:別怕,其實這個問題可以簡化為……

將邊長為正整數a,b的長方形劃分成若干邊長均為正整數,每個正方形的邊均平行於矩形的相應邊,試求這些正方形邊之和的最小值MIN。

(如果這個長方形可以分成N個正方形,其中每個邊長為Ai,那麼MIN=A1+A2+^^^+AN
注意,數組A中的元素可能相等)

格式輸入格式

一共10行
每行兩個正整數,Ai,Bi

對於30%的資料,Ai,Bi<maxint
對於100%的資料,Ai,Bi<maxlongint;

輸出格式

一共10行
每行一個整數,輸出MINi

範例1範例輸入1[複製]
1 12 13 14 15 16 17 18 19 110 1
範例輸出1[複製]
12345678910
限制

每點1s

提示

對於範例,可全分長邊長為一的正方形,並

記所求最小值為f(m,n),可以證明f(m,n)=m+n-(m,n). (*)
其中(m,n)表示m和n的最大公約數.
事實上,不妨設m≥n.
(1)關於m歸納,可以證明存在一種合乎題意的分法,使所得正方形邊長之和恰為m+n-(m,n).
當m=1時,命題顯然成立. 
假設當m≤k時,結論成立(k≥1).當m=k+1時,若n= k+1,則命題顯然成立.若n< k+1,從矩形ABCD中切去正方形一個邊長為n(),


由歸納假設剩下的矩形有一種分法使得所得正方形邊長之和恰為m-n+n-(m-n,n)= m-(m,n).
於是原矩形ABCD有一種分法使得所得正方形邊長之和為m+n- (m,n).
(2)關於m歸納可以證明(*)成立.
當m=1時,由於n=1,顯然f (m,n)=1= m+n- (m,n).
假設當m≤k時,對任意1≤n≤m有f (m,n)= m+n- (m,n).
若m=k+1,當n= k+1時,顯然f(m,n)= k+1= m+n- (m,n).
當1≤n≤k時,設矩形ABCD按要求分成了p個正方形,其邊長分別為a1,a2,…,ap,不妨設a1≥a2≥…≥ap.
顯然a1=n或a1若a1 m+n- (m,n).
若a1=n,則一個邊長分別為m-n和n的矩形可按題目要求分成邊長分別為a2,…,ap的正方形,由歸納假設
a2+…+ap≥m-n+n-(m-n,n)= m- (m,n).
從而a1+a2+…+ap≥m+n-(m,n).
於是當m=k+1時,f(m,n)≥m+n- (m,n).
再由(1)可知f (m,n)=m+n- (m,n).


#!/usr/bin/env python3# -*- coding: utf-8 -*-def gcd(a, b):    if not b:        return a    else :        return gcd(b, a % b)def lcm(a, b):    return a + b - gcd(a, b)import sysimport mathfor i in range(10):    a, b = map(int,raw_input().split())    print lcm(a, b)    


著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

vijos - P1279Leave-綠光(數學歸納法 + python)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.