例題3 5 生成元

2021-09-10 12:55:31 字數 595 閱讀 7564

如果x加上x的各個數字之和得到y,就說x是y生成元。給出n(1<=n<=100000)求出最小生成元,無解是輸出0。第一行輸入t,接下來t行每一行輸入乙個數字,然後輸出其生成元。

樣例輸入

3216

1212005

輸出198

01979

思路:這個題目首先想到就是列舉,因為生成元小於數字,但是對於多組資料,打表可以讓效率大大提高~

**如下:

#include

#include

#include

#include

#include

using namespace std;

const

int maxn=

100100

;int a[maxn]

;void

init()

//打表操作

if(a[m]==0

||i)//如果為0(沒有輸入)或者生成元更小,就輸進去

a[m]

=i;}

}int

main()

return0;

}

最小生成元 java

如果x加上x的各個位數字之和得到y,就說x是y的生成元 給出n,1 n 100000 求最小生成元。無解輸出0.例如,n 216,121,2005時的解分別為198,0,1979。198 1 9 8 216 1979 1 9 7 9 2005 我的思路如下 1.從0找到n所有的數字 2.將這些數字轉...

求解最小生成元

前言 因為看著劉汝佳的演算法書學習的演算法,今天聊聊最小生成元,關於這一點我覺得書上的方法有些不妥,因為就拿出來說說,這個演算法相對還是比較簡單的。最小生成元問題描述 如果x加上x的各個位數字之和得到y,就說x是y的生成元 給出n,1 n 100000 求最小生成元。無解輸出0。例如,n 216,1...

基因與生成元演算法

本章繪圖要點 生成元演算法 重複性的繪圖步驟可抽象提煉成資料,儲存在列表或元組裡,然後,依據抽象規則,讀取資料,呼叫繪圖函式,生成所需要的圖形,從而降低程式的複雜性,減少程式的 量。繪圖效率 當圖形的資料計算量比較大時,可先統一計算,然後再繪圖,從而提高圖形的生成效率。一生二,二生三 道生一,一生二...