【解決方法】この問題のアプローチは何ですか? この問題を解決するのを手伝ってください


Two people are playing a game where Kyle gives Genny an array arr of size n. There are some positions in the array where the index (According to 1 based indexing ) is NOT prime and the element at that index is prime.

Kyle has to find those elements and give that to Genny in order of their appearance in array.

Your task is to help Genny complete his task.

NOTE :Print -1 if there are no such elements.

Input

10 
2 3 5 7 11 13 17 19 23 29

Output
2 7 13 19 23 29

私が試したこと:

import java.util.*;

public class Main {

    public static void KyleArrayGame(int n, int[] arr) {
        // write code and print here
		int index =1;
		int flag=0;
		
		for(int i=0; i<n; i++){
			if(i%2==0){
				flag=1;
				index=arr[i];
				
				System.out.print(index+" ");
			}
                 else{
                      System.out.print("-1);
		
			}
		}
    }

    public static void main(String[] args) {
        Scanner scn = new Scanner(System.in);
        int n = scn.nextInt();
        int[] arr = new int[n];
        for(int i=0;i<n;++i){
            arr[i] = scn.nextInt();
        }
        KyleArrayGame(n,arr);
    }
}

解決策 1

私たちは立ち往生している人々を喜んで助けますが、それは私たちがあなたのためにすべてをするためにここにいるという意味ではありません! 私たちがすべての作業を行うことはできません。あなたはこれに対して報酬を受け取っているか、またはそれはあなたの成績の一部であり、私たちがあなたのためにすべてを行うことはまったく公平ではありません.

だから私たちはあなたが仕事をする必要があり、あなたが行き詰まったときにあなたを助けます. それは、あなたが提出できる段階的な解決策を提供するという意味ではありません!
現在の状況と、プロセスの次のステップを説明することから始めます。 次に、その次のステップを機能させるために何を試みたか、またその際に何が起こったかを教えてください。

あなたが「これまでのあなたのコード」として私たちに示したものは、述べられているように問題とはまったく関係がありません. それを捨てて、課題を注意深く読んで、それがあなたに何を求めているのかを考えてください。

開始するのに問題がある場合は、これが役立つ場合があります。 問題を解決するためのコードの書き方、初心者向けガイド[^]

解決策 2

質問について考えてみてください。
セットする found = 0 – これは有効なアイテムの数になります。
インデックス値は 1 から n までカウントする必要があります。 インデックス値ごとに いいえ 配列のオフセットは 1 ではなく 0 からカウントされることに注意してください。 値が素数の場合は、それを出力し、さらに に 1 を追加します found. インデックス番号が配列要素の数と等しくなるまで続行します。 もしも found ゼロ、つまり有効な素数エントリが見つからない場合は、”-1″ を出力します。 ヒント: すべての奇数が素数であるとは限りません。

コメント

タイトルとURLをコピーしました