Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 19688|Yanıt: 5

[Kaynak] 2014 "Blue Bridge Cup" ön sınav soruları

[Bağlantıyı kopyala]
Yayınlandı 16.10.2014 15:34:10 | | | |
Aşağıdaki kod cevabına bakınız:
Bu hikayeyi duymuş olmalısın. Kral, saketi icat eden bakanı hayranlıkla karşıladı ve ona ne için ödeme yapacağını sordu, bakan da şöyle dedi: Lütfen önce sen de ol.1Bir dama tahtası yerleştirilir1Evde buğday tanesi2Bir dama tahtası yerleştirilir2Evde buğday tanesi3Bir dama tahtası yerleştirilir4Evde buğday tanesi4Bir dama tahtası yerleştirilir8buğday,......Son karenin sayısı, tüm dama kartı kareleri oynanana kadar önceki kareden iki kat daha fazla olur (saçta yaygın olarak görülür64Grid).
Kral sadece bir çuval buğday istediğini düşündü ve güldü.
O dönemin koşullarında doğru hesaplamak imkansızdı, ancak tahminler şaşırtıcıydı: tüm dünya buğdayla kaplı olsa bile, bu yeterli olmayacaktı!
Lütfen bilgisayarı kullanarak tam olarak kaç tane buğday ihtiyacınız olduğunu hesaplayın.
     Lütfen sonucu doğrudan çıkaracak kod yazın.





Önceki:Az önce gördüğüm üniversite öğrencileri için en iyi on tabu
Önümüzdeki:Java Bölüm 1 Bilgi Puanları
 Ev sahibi| Yayınlandı 16.10.2014 15:34:24 |
* Bir dizinin tüm alt dizileri çıkarır (alt dizeler boş dizeleri ve diziyi içermez),
* Örneğin: "abc" dizisinin tüm alt dizileri şunlardır: "a", "b", "c", "ab", "bc".
* "abcd" dizesinin tüm alt dizileri şunlardır: "a", "b", "c", "d", "ab", "bc", "cd", "abc", "bcd".
 Ev sahibi| Yayınlandı 16.10.2014 15:35:14 |
Xiaomei bloklarla oynamayı sever. Blokları teker teker farklı yükseklikteki kutulara yığdı.Bak, bir duvar yaptım!Bunu en büyük kız kardeşi Xiaoliang'a söyledi.Tüm blokları aynı yükseklikte inşa etmelisin. Yani gerçek bir duvar inşa ediyorsun.Cevap verdi. Bir süre düşündükten sonra Xiaomei haklı olduğunu düşündü. Sonra, blokları birer ardına yeniden düzenlemeye başladı ve sonunda tüm bloklar aynı yüksekliğe ulaştı. Ama Xiaomei tembel, tüm blokların aynı yüksekliğe ulaşması için sadece minimum sayıda blok taşımak istiyor. Ona yardım edebilir misin?


Bir açıklama girin:
Girdi, birden fazla veri koleksiyonu içerir. Her veri setinin ilk satırı tam sayıdırn, bu da Xiaomei'nin yapı bloklarının sütun sayısını temsil eder. İkinci satırda isenher biri blok sütununun yüksekliğini temsil eden tam sayılar.hi, sütunda olduğunu gösterirhi bloklar. Varsayılır1≤n≤501≤merhaba≤100。
Toplam blok sayısı sütun sayısına bölünebilir. Bu nedenle, her sütunun aynı yükseklikte üst üste yığılması garanti edilir.
Giriş 0 ile sona erer ve 0 giriş veri olarak kullanılmaz.
Çıktı Açıklaması:
Her veri seti için, veri setinin seri numarasını yazdırın, çıktı örneğine bakınız. Sonra "Minimum hamle sayısı k."yi yazdırın. Burada k, bu blokların aynı yüksekliğe taşınması için gereken minimum kez belirtir.
Her veri setinden sonra bir boş satır çıktı.
Giriş örneği:
6
5 2 4 1 7 5
0
Çıktı örneği
Set #1
Minimum hamle sayısı 5.

 Ev sahibi| Yayınlandı 16.10.2014 15:35:31 |
Robot yürüyüşü
Belirli bir çocuk sarayı birçok robot arabası tanıttı. Önceden girilen talimatları kabul edebilir ve onlara göre hareket edebilirsiniz. Tramvayın temel hareketleri çok basittir, sadece 3 türü vardır: sola dönmek (L olarak işaretlenmiş), sağa dönmek (R olarak işaretlenmiştir) ve birkaç santimetre ileri yürümek (doğrudan numarayı işaretlemek).

    Örneğin, arabaya aşağıdaki komutu girebiliriz:

    15L10R5LRR10R20

    Sonra araba 15 cm düz gider, sola döner, sonra 10 cm yürür ve sonra sağa döner,...

    Bu komut dizisi için aracın başlangıç noktasına geri döndüğünü görmek zor değil.

    Göreviniz şudur: bir program yazın, kullanıcının komutları girmesine izin verin ve program, her komut yürütüldükten sonra arabanın konumu ile komut yürütülmeden önceki arabanın konumu arasındaki düz çizgi mesafesini çıkarır.

[Giriş ve çıkış format gereksinimleri]

    Kullanıcı önce bir tam sayı n(n<100) girer, bu da sonraki n komut olacağı anlamına gelir.

    Sonra, n talimatı girin. Her komut yalnızca L, R ve sayılardan oluşur (sayılar 0~100 arasında tam sayılardır)

    Her talimat 256 karakterden uzun olmamalıdır.

    Program, n satır sonuç çıkarır.

    Her sonuç, ilgili komutun yürütülmesinden önce ve sonrasında arabanın düz çizgi mesafesini temsil eder. İki ondalık basamaya yuvarlama gerekiyor.

    Örneğin: Kullanıcı girdisi:
5
L100R50R10
3LLL5RR4L12
LL
100R
5L5L5L5L5

    Sonra program şunları çıkarır:
102.96
9.06
0.00
100.00
0.00
 Ev sahibi| Yayınlandı 16.10.2014 15:36:08 |
Sayılar oyununu tahmin edin, oyunun kuralları şöyledir:
1. Bir oyuncu bir tane verir0~9Tam sayı sayı
2. Üç oyuncu sırayla numarayı tahmin eder ve her kişi bir tur boyunca bir kez tahmin eder
3. Bir turdan sonra, bir oyuncu doğru tahmin ederse oyun sona erer, doğru tahmin edemezse başka bir tur oynanır, ta ki doğru tahmin edene kadar.
Tüm oyuncularla birlikte tam bir oyun sürecini simüle eden kod yaz.
(Istemi:JavaDilMath.random()Fonksiyon, daha büyük bir fonksiyon döndürebilir0ve daha az1rastgele sayı)
Referans çıktısı aşağıdaki gibidir (her çalışma için sonuç farklı olacaktır):


 Ev sahibi| Yayınlandı 16.10.2014 15:36:24 |
[Kartları eşit olarak paylaş]
1,2,...,n numaralı N kart yığını vardır. Her yığında birkaç kart vardır, ancak toplam kart sayısı n'nin katı olmalıdır. Her yığına birkaç kart alıp hareket ettirebilirsiniz.
Taşınan kartların kuralları şunlardır: 1 numaralı kartlar sadece 2 numaralı yığına taşınabilir; n numaralı yığına alınan kartlar yalnızca n-1 numaralı yığına taşınabilir; Diğer yığınlardan alınan kartlar bitişik sol veya sağ yığına taşınabilir. Şimdi ise her yığında en az hamleyle aynı sayıda kart yapmanın bir yolunu bulmak gerekiyor.
Örneğin: n=4, 4 kart yığını şunlardır: (1) 9 (2) 8 (3) 17 (4) 6 Hedefe ulaşmak için üç kez hareket edin: (3)'den 4 kart alın ve (4'e) koyun, sonra (3)'den (2)'ye ve (2)'den (1'e)


Lütfen yığın sayısını girin n:
4
Her yığın için başta değeri girin lütfen:
9 8 17 6

Çıktı:
Her biri 10 adet 4 yığın vardır
Minimum hamle: 3 kez
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com