Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy
počítačové znalosti >> Systémy >> unix >> .

Ako napíšete celý program na nájdenie faktorov daného čísla v programovaní Unix Shell?

Existuje niekoľko prístupov na nájdenie faktorov v skripte Unix Shell. Tu sú dva, jeden, ktorý používa `seq` a` bc` (prenosnejšie) a ďalšie aritmetické schopnosti Bash (o niečo rýchlejšie, ale menej prenosné):

Metóda 1:Použitie `seq`,` bc` a `grep` (prenosnejšie)

Táto metóda je vysoko prenosná, pretože sa spolieha na štandardné Unix Utilities.

`` `Bash

#!/bin/bash

Získajte vstup od používateľa

prečítať -p "Zadajte číslo:" num

Manipulácia s chybami pre nepoznateľný vstup

if ((num <=0)); potom

Echo „Zadajte kladné celé číslo“.

výstup 1

FI

generujte čísla od 1 do num

SEQ 1 $ NUM | Počas čítania i; robiť

# Použite BC na vykonanie prevádzky Modulo. To zvláda veľké počty.

if (($ (echo "$ num % $ i" | bc) ==0)); potom

Echo "$ i"

FI

vykonaný

`` `

Tento skript najprv vyzve používateľa na číslo. Potom používa „seq` na generovanie sekvencie čísel od 1 do vstupného čísla. „Zatiaľ čo“ slučka iteroval cez každé číslo a `Bc` vypočíta modulo. Ak je modulo 0, číslo je faktorom a je vytlačené.

Metóda 2:Použitie aritmetiky Bash (menej prenosná, mierne rýchlejšia)

Táto metóda využíva vstavané aritmetické schopnosti spoločnosti Bash, vďaka čomu je o niečo rýchlejšia pre menšie čísla, ale nemusí byť taká prenosná ako metóda „BC`.

`` `Bash

#!/bin/bash

Získajte vstup od používateľa

prečítať -p "Zadajte číslo:" num

Manipulácia s chybami pre nepoznateľný vstup

if ((num <=0)); potom

Echo „Zadajte kladné celé číslo“.

výstup 1

FI

iterujte cez čísla od 1 do num

pre ((i =1; i <=num; i ++)); robiť

# Skontrolujte, či som faktor používajúci operátor Modulo

if ((num % i ==0)); potom

Echo "$ i"

FI

vykonaný

`` `

Tento skript je podobný ako prvý, ale používa Bashovu vstavanú aritmetickú expanziu `((...))" pre operáciu modulo, čím sa vyhýba externému volaniu na "BC".

Ako spustiť:

1. Uložte buď skript do súboru (napr. `Find_factors.sh`).

2. Urobte si spustiteľný skript:`chmod +x find_factors.sh`

3. Spustite skript:`./Find_factors.sh`

Príklad výstupu (pre vstup 12):

`` `

1

2

3

4

6

12

`` `

Nezabudnite zvoliť metódu, ktorá najlepšie vyhovuje vašim potrebám a systémom, na ktorých budete spustiť. Prvá metóda (s použitím `BC`) sa všeobecne odporúča pre svoju širšiu kompatibilitu. Druhý je rýchlejší pre menšie čísla v systémoch, v ktorých je optimalizovaná aritmetika Bash.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené