Ўзбекистон республикаси ташқи ишлар вазирлиги
Download 0.59 Mb. Pdf ko'rish
|
Java Sattorov 1-qism
7.4-misol. Faraz qilaylik, 10 lampochka ketma-ket joylashgan va 1 dan
10 gacha nomerlangan. Boshlang‗ich holatda barcha lampochkalar o‗chgan bo‗lsin. Ikkita butun son (2 va 3) berilgan. 2 soni nomerlari 2 ga karrali bo‗lgan lampochkalar o‗chgan bo‗lsa, yoqishni va aksincha yoniq bo‗lsa, o‗chirishni bildiradi. Xuddi shuningdek, 3 soni ham nomerlari 3 ga karrali bo‗lgan lampochkalar o‗chgan bo‗lsa, yoqishni va aksincha, yoniq bo‗lsa, o‗chirishni bildiradi. Oxirida nechta lampochka yoniq qolishini topish kerak. Lampochkalarning nomerlari 1 2 3 4 5 6 7 8 9 10 Holati o‘ o‘ o‘ o‘ o‘ o‘ o‘ o‘ o‘ o‘ o‘ yo o‘ yo o‘ yo o‘ yo o‘ yo o‘ yo yo yo o‘ o‘ o‘ yo yo yo Bu jadvalda yo- yoniq, o‘- o‗chgan. Jadvaldan ko‗rinib turibdiki, yoniq lampochkalar 6 ta. Endi masalani umumiy holda ta‘riflaylik. N ta lampochka berilgan va ular 1 dan N gacha nomerlangan. Boshlang‗ich holatda barcha lampochkalar o‗chgan holatda. K ta butun (r 1 , r 2 , r 3 ,..., r k ) sonlar berilgan. r i (i=1,2,…K) sonlarning har biri ketma-ket nomerlari r i ga karrali bo‗lgan lampochkalarni agar ular o‗chgan bo‗lsa, yoqadi, va aksincha, agar ular yoniq bo‗lsa, o‗chiradi. Yoniq qolgan lampochkalar sonini topish kerak. Bu masalani quyidagicha yechish mumkin. Faraz qilaylik, elementlari butun sonlar bo‗lgan N ta elementli A massiv berilgan bo‗lsin. Agar A[i]=0 bo‗lsa, u i - lampochkaning o‗chganligini yoki A[i]=1 bo‗lsa, u i - lampochkaning yoniqligini bildirsin. Oxirida A[i]=1 bo‗lganlarining sonini topish yetarli. Bu misolning programmasi quyidagicha bo‗lishi mumkin: package lampa; public class Main { 62 public static void main(String[] args) { int n, k, i, j, s; int r[] = {2, 3, 4, 8, 7}; byte A[] = new byte[5001]; n = 10; k = 2;// 10 lampochka, 2 ta son //Boshlang‗ich holatda barcha lampochkalar o‗chgan for (i = 0; i <= n; i++) A[i] = 0; for (j = 0; j < k; j++) for (i = r[j]; i <= n; i += r[j]) // r[j] ga karralilar A[i] =(byte)( 1 - A[i]); //yoqish yoki o‗chirish s = 0; for (byte x : A) s += x; System.out.println("s=" + s); }} Bu programma juda sodda bo‗lishiga qaramay, juda katta N lar uchun ishlamasligi mumkin, chunki A massiv uchun xotiradan ko‗p joy talab etiladi. Download 0.59 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling