ප්‍රථමක සංඛ්‍යා

Error365!

Well-known member
  • Jun 27, 2012
    13,009
    9,596
    113
    එක තැනක නෑ
    if (onlyPrimeNums) {

    ඔය කෑල්ල අයින් කරල බැලුව ඩුප්ලිකේට් අල්ලනවද නැද්ද කියල බලන්ඩ..

    වැඩ කොලා...


    code ekak change karala output eka wenas wena widiha balana eka hondai. ethakota hondata therum ganna puluwan :D
     

    Error365!

    Well-known member
  • Jun 27, 2012
    13,009
    9,596
    113
    එක තැනක නෑ
    ප්‍රොග්‍රැමින් කෝඩ්ස් බ්ලා බ්ලා දන්නේ නෑ

    Programming :love:

    mokakhari ide ekak dagena code eka run karala balapan machan. umbata statement lines run wena widihen program eka therum ganna puluwan wei. asa nam try ekak diyan :)

    මාත් බං. දිරවන්නෙම නැති දෙයක්

    ඒත් මේ ළඟදි ජාවා පොඩ්ඩක් තේරුම් ගන්ඩ බැලුව :D

    ohoma yamu digatama :)
     
    Last edited:

    20_18

    Member
    Feb 27, 2018
    1,297
    45
    0
    import java.math.BigInteger;
    import java.util.LinkedHashMap;
    import java.util.Map

    මේවට ඔබ්ජෙක්ට් හදන්ඩ ඕනෙ නැද්ද මචං ?

    අනික තමා උඹෙ ක්ලාස් එක ඇතුලෙම ඒකෙ ඔබ්ජෙක්ට් එකකුත් හදල..

    ක්ල්ස් නේම් එකක් කැපිටල් වලින් නේද පටන් ගන්ඩෝන..

    ටිකක් පැහැදිලි කරල දෙන්ඩ ;)

    public class powCalc {

    public static void main(String[] args) {

    powCalc pc = new powCalc();
     

    20_18

    Member
    Feb 27, 2018
    1,297
    45
    0
    උඹ මේව තනියම කොහොම ඉගෙන ගත්තද මංද..

    මටනං කෝඩ්ස් දැක්කට තනියම තේරුම් ගන්ඩ බෑ..

    සීන් එක හරියට පැහැදිලි කරන වීඩියෝස් බලන්ඩම ඕන..

    මට ජාව වලට ආසාවක් ඇති වුණේ මේ යූටියුබ් චැනල් එකෙන්..

    උපුල් ඩිපින් උඹත් මේක බලපං...

    https://www.youtube.com/watch?v=T_nclkocrvw&list=PLqeCu_1ZdDl63h6YR3QsxcGOB7yDS7i3b
     

    Error365!

    Well-known member
  • Jun 27, 2012
    13,009
    9,596
    113
    එක තැනක නෑ
    import java.math.BigInteger;
    import java.util.LinkedHashMap;
    import java.util.Map

    මේවට ඔබ්ජෙක්ට් හදන්ඩ ඕනෙ නැද්ද මචං ?

    අනික තමා උඹෙ ක්ලාස් එක ඇතුලෙම ඒකෙ ඔබ්ජෙක්ට් එකකුත් හදල..

    ක්ල්ස් නේම් එකක් කැපිටල් වලින් නේද පටන් ගන්ඩෝන..

    ටිකක් පැහැදිලි කරල දෙන්ඩ ;)

    public class powCalc {

    public static void main(String[] args) {

    powCalc pc = new powCalc();




    Code:
    import java.math.BigInteger;
    import java.util.LinkedHashMap;
    import java.util.Map

    Object hadala thiyana nisa thamai oya widihata import karala thiyanne

    Code:
    [COLOR="Red"]LinkedHashMap[/COLOR]<BigInteger, String> powLst = new LinkedHashMap<>();
    [COLOR="red"]Map[/COLOR].Entry<[COLOR="red"]BigInteger[/COLOR]


    main method eka static method ekak. static context ekaka indala non static method ekak refer karanna be machan. hethuwa thama e method eka hadila ne. ekai mama class eke object ekak hadagena non static method eka access kare.

    "You can't call something that doesn't exist. Since you haven't created an object, the non-static method doesn't exist yet. A static method (by definition) always exists."

    ow machan class eka capital walin patan ganna one. mama notepad eke type karan yaddi wediya ganan gaththe ne :P
     
    Last edited:

    20_18

    Member
    Feb 27, 2018
    1,297
    45
    0
    import java.math.BigInteger;
    import java.util.LinkedHashMap;
    import java.util.Map;

    LinkedHashMap එකෙන් ඔබ්ජෙක්ට් එකක් හදල තියෙනව මුලම. මම ඒක උඹ පෙන්නපුහමයි දැක්කෙ..

    එතකොට අනිත් දෙකෙන් කොතනද හදල තියෙන්නෙ? මට හොයාගන්ඩ බෑනෙ
    බිග් ඉන්ටිජර් ක්ලාස් එකයි, මැප් ක්ලාස් එකයි..
     

    MihiCherub

    Well-known member
  • Sep 14, 2009
    18,936
    1
    9,732
    113
    Gampaha
    private boolean isPrime(int n) { if (n > 2 && n % 2 == 0) { return false; } int top = (int) Math.sqrt(n) + 1; for (int i = 3; i < top; i += 2) { if (n % i == 0) { return false; } } return true; }
    uba meka google nokara hithala liwwa nam patta thama :yes::cool:
     

    upulpdn

    Well-known member
  • Mar 13, 2009
    34,672
    2,251
    113
    Kurunegala
    උඹ මේව තනියම කොහොම ඉගෙන ගත්තද මංද..

    මටනං කෝඩ්ස් දැක්කට තනියම තේරුම් ගන්ඩ බෑ..

    සීන් එක හරියට පැහැදිලි කරන වීඩියෝස් බලන්ඩම ඕන..

    මට ජාව වලට ආසාවක් ඇති වුණේ මේ යූටියුබ් චැනල් එකෙන්..

    උපුල් ඩිපින් උඹත් මේක බලපං...

    https://www.youtube.com/watch?v=T_nclkocrvw&list=PLqeCu_1ZdDl63h6YR3QsxcGOB7yDS7i3b
    balnna one. stuty :yes::cool:
     

    upulpdn

    Well-known member
  • Mar 13, 2009
    34,672
    2,251
    113
    Kurunegala

    umba IT related job ekakda karanne machan dan?
    නෑ බන්... මම ඔය දේවල් ඉගෙන ගන්න ආසයි...
    එක්සෙල් එකේ මැක්‍රො කෝඩ්ස් ටිකක් එහෙම ලියාගන්න දැනුම තිබ්බොත් ඇති..
    වීබී එහෙම කළා අනුන්ගේ කොම්පියුටර් වල... මට ලැපක් නැති කාලේ...
    පස්සේ මැට්ලැබ් එහෙම කලා. ගැලීම් සටහන් එහෙම ඇඳලා එක්සෑම් එකකට කෝඩ් ලිව්වත් මතකයි ලොල්...

    ඒත් දැන් මතක නෑ කෝඩින්...
    පොඩ්ඩක් වැඩ අඩු උනාම ක්ලාස් එකක් වත් හොයාගන්න ඕනේ:yes:
     

    හෙනයා

    Well-known member
  • May 23, 2014
    16,872
    17,084
    113
    Kottawa
    <BigInteger, String>

    <> දාන්නෙ ඇයි ?

    LinkedHashMap එක අස්සට දාන්න පුලුවන් values limit කරන එක..
    ඔතනට අනුවනම් HashMap එකේ key එක විදිහට දෙන්න පුලුවන් BigInteger අගයක් විතරයි.. value එක විදිහට දෙන්න පුලුවන් String එකක් විතරයි.. තේරුනාද මන්ද.. :confused:
     

    20_18

    Member
    Feb 27, 2018
    1,297
    45
    0
    හෙනයා;23240552 said:
    LinkedHashMap එක අස්සට දාන්න පුලුවන් values limit කරන එක..
    ඔතනට අනුවනම් HashMap එකේ key එක විදිහට දෙන්න පුලුවන් BigInteger අගයක් විතරයි.. value එක විදිහට දෙන්න පුලුවන් String එකක් විතරයි.. තේරුනාද මන්ද.. :confused:

    තේරුණා :cool:
     

    20_18

    Member
    Feb 27, 2018
    1,297
    45
    0
    මට මුගෙ කෝඩ්ස් ටික තේරුම් ගන්ඩ අමාරුයි... :sorry:

    ඔබ්ජෙක්ට් හදපු කෝඩ් ටික විතරක් කාටහරි පුලුවන්නං මට පෙන්නන්ඩ..


    mport java.math.BigInteger;
    import java.util.LinkedHashMap;
    import java.util.Map;

    public class powCalc {

    public static void main(String[] args) {

    powCalc pc = new powCalc();

    LinkedHashMap<BigInteger, String> powLst = new LinkedHashMap<>();
    LinkedHashMap<BigInteger, String> dupLst = new LinkedHashMap<>();

    //variables (change this values as your requirement )
    int base = 100;//max base
    int power = 100;//max power
    boolean onlyPrimeNums = true;//use only prime numbers or not
    boolean showPow = true;//show or not output of power calc

    for (int i = 2; i < base; i++) {
    if (onlyPrimeNums) {
    if (pc.isPrime(i)) {
    for (int j = 2; j < power; j++) {
    BigInteger pow = pc.pow(BigInteger.valueOf(i), BigInteger.valueOf(j));
    String nb = i + "^" + j;
    if (showPow) {
    System.out.println(nb + " = " + pow);
    }
    if (powLst.containsKey(pow)) {
    dupLst.put(pow, nb);
    } else {
    powLst.put(pow, nb);
    }
    }
    }
    } else {
    for (int j = 2; j < power; j++) {
    BigInteger pow = pc.pow(BigInteger.valueOf(i), BigInteger.valueOf(j));
    String nb = i + "^" + j;
    if (showPow) {
    System.out.println(nb + " = " + pow);
    }
    if (powLst.containsKey(pow)) {
    dupLst.put(pow, nb);
    } else {
    powLst.put(pow, nb);
    }
    }
    }
    }

    if (dupLst.size() > 0) {
    for (Map.Entry<BigInteger, String> entry : dupLst.entrySet()) {
    BigInteger pow = entry.getKey();
    String bas = entry.getValue();
    System.out.println(powLst.get(pow) + " overlap with " + bas + "[" + pow + "]");

    }
    }else{
    System.out.println("No value is overlapped");
    }

    }

    private BigInteger pow(BigInteger base, BigInteger exponent) {
    BigInteger result = BigInteger.ONE;
    while (exponent.signum() > 0) {
    if (exponent.testBit(0)) {
    result = result.multiply(base);
    }
    base = base.multiply(base);
    exponent = exponent.shiftRight(1);
    }
    return result;
    }

    private boolean isPrime(int n) {
    if (n > 2 && n % 2 == 0) {
    return false;
    }
    int top = (int) Math.sqrt(n) + 1;
    for (int i = 3; i < top; i += 2) {
    if (n % i == 0) {
    return false;
    }
    }
    return true;
    }
    }
     

    20_18

    Member
    Feb 27, 2018
    1,297
    45
    0
    BigInteger pow = entry.getKey()

    මේක මම දන්නව

    entry කියන එකේ getKey කියන මෙතඩ් එක කෝල් කරල, ඒකෙන් එන වැලියු එක
    pow කියන එකට දාගන්ඩ

    entry එක කොහෙද තියෙන්නෙ :confused:
     

    20_18

    Member
    Feb 27, 2018
    1,297
    45
    0
    for loop එක දන්නව

    if else දන්නව..

    ඒත් මේ මගුල ඔලුවට දාගන්ඩ බෑනෙ

    public static void main තැනින් ප්‍රෝග්‍රෑම් එක රන් වෙනව කියලත් දන්නව..

    මූලික දේවල් දන්නව.. ඒත් මේක තේරුම් ගන්ඩ බෑ
     

    20_18

    Member
    Feb 27, 2018
    1,297
    45
    0
    private boolean isPrime(int n) {
    if (n > 2 && n % 2 == 0) {
    return false;

    මේ තියෙන්නෙ මෙතඩ් එකක්

    කෝ ඉතිං මේ මෙතඩ් එක කෝල් කරල තියෙන්නෙ කොහෙද. මට ඇස් පෙන්නෙ නැද්ද ?