いいコードには高得点差し上げます。
11*11から99*99の」答えが出るようにしてください。
http://www.geocities.jp/journey4web/Labo/KenSquar.html
/*答えを書かない人は投稿しないでください。*/
九九の表みたいな出力
public class MultiCalc { public static void main(String[] args) { for (int i = 10; i < 100; i++) { if (i != 10) { System.out.print(i); } for (int j = 11; j < 100; j++) { if (i == 10) { System.out.print("\t" + j); } else { System.out .print("\t" + ((int) (i / 10) * (int) (j / 10) * 100 + (int) (i / 10) * (j % 10) * 10 + (i % 10) * (int) (j / 10) * 10 + (i % 10) * (j % 10))); } } System.out.print("\n"); } } }
<HTML> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!-- i=0; function Start(){ a1=document.myform.mytext1.value; a2=document.myform.mytext2.value; f=1; b1=Number(a1); b2=Number(a2); if (b1<10) { f=0; } if (b1>99) { f=0; } if (b2<10) { f=0; } if (b2>99) { f=0; } m1=""; m2=""; m3=""; m4=""; m5=""; if (f==0){ m1="計算できません。"; } else{ k1= a1.substr(0, 1) * a2.substr(0, 1) * 100; m1= a1.substr(0, 1) + "×" + a2.substr(0, 1) + "× 100 = " + k1; k2= a1.substr(1, 1) * a2.substr(0, 1) * 10; m2= a1.substr(1, 1) + "×" + a2.substr(0, 1) + "× 10 = " + k2; k3= a1.substr(0, 1) * a2.substr(1, 1) * 10; m3= a1.substr(0, 1) + "×" + a2.substr(1, 1) + "× 10 = " + k3; k4= a1.substr(1, 1) * a2.substr(1, 1) ; m4= a1.substr(1, 1) + "×" + a2.substr(1, 1) + " = " + k4; k5= k1+k2+k3+k4; m5= "合計 = " + k5; } myText3.innerHTML = m1; myText4.innerHTML = m2; myText5.innerHTML = m3; myText6.innerHTML = m4; myText7.innerHTML = m5; } //--> </SCRIPT> </HEAD> <CENTER> <FORM name="myform"> <INPUT name='mytext1' size='10' style="position:absolute;top:10;left:10;"> <BR> <INPUT name='mytext2' size='10' style="position:absolute;top:40;left:10;"> <BR> <INPUT type="button" value="計算" onClick="Start()"> <DIV id="myText3" style="position:absolute;top:70;left:10;"></DIV> <BR> <DIV id="myText4" style="position:absolute;top:100;left:10;"></DIV> <BR> <DIV id="myText5" style="position:absolute;top:130;left:10;"></DIV> <BR> <DIV id="myText6" style="position:absolute;top:160;left:10;"></DIV> <BR> <DIV id="myText7" style="position:absolute;top:190;left:10;"></DIV> <BR> </FORM> </CENTER> </BODY> </HTML>
こんな感じでどうでしょうか?
ありがとうございます。スクリプトじゃないやつでお願いします。
public class IndiaCalc {
/**
* @param args
*/
public static void main(String[] args) {
for (int i = 11 ; i < 100 ; i++){
for (int j = 11 ; j < 100 ; j++){
int ichiI = i % 10;
int ichiJ = j % 10;
int juuI = i / 10;
int juuJ = j / 10;
int answer = juuI * juuJ * 100 + juuI * ichiJ * 10 + ichiI * juuJ * 10 + ichiI * ichiJ;
print (i, j, answer);
}
}
}
private static void print(int i, int j, int answer) {
System.out.println(i + " × " + j + " = " + answer + "(検算:" + (i * j) + ")");
}
}
ありがとうございます。これだと96*99、99*99までしか出来ないんですけど。
あーよくみたら全部やってましたね。9801個。出来れば一覧できるようにしてほしかった。全部見ることができませんから。
こんなのでどうでしょう?
public class India_kuku { private static final int KUKU_MIN = 11; private static final int KUKU_MAX = 99; public static void main(String[] args) { if (args.length != 2){ System.out.println("パラメータは2個必要!"); return; } int param1 = Integer.parseInt(args[0]); int param2 = Integer.parseInt(args[1]); if ((param1 < KUKU_MIN) || (KUKU_MAX < param1) || (param2 < KUKU_MIN) || (KUKU_MAX < param2)){ System.out.printf("数字は%dから%dの間!\n",KUKU_MIN,KUKU_MAX); return; } int p1_1 = param1 % 10; // param1の1の位 int p1_10 = param1 / 10; // param1の10の位 int p2_1 = param2 % 10; // param2の1の位 int p2_10 = param2 / 10; // param2の10の位 int kekka_1 = p1_10 * p2_10 * 100; // (1)10の位同士を掛けて100倍 int kekka_2 = p1_10 * p2_1 * 10; // (2)外側の数字同士を掛けて10倍 int kekka_3 = p1_1 * p2_10 * 10; // (3)内側の数字同士を掛けて10倍 int kekka_4 = p1_1 * p2_1; // (4)1の位同士を掛ける System.out.println("(1) " + p1_10 + " * " + p2_10 + " * 100 = " + kekka_1); System.out.println("(2) " + p1_1 + " * " + p2_10 + " * 10 = " + kekka_2); System.out.println("(3) " + p1_10 + " * " + p2_1 + " * 10 = " + kekka_3); System.out.println("(4) " + p1_1 + " * " + p2_1 + " = " + kekka_4); System.out.printf("合計:%d\n", kekka_1 + kekka_2+ kekka_3 + kekka_4); } }
ありがとうございます。実行のやりかたがわかりません。
九九の表みたいな出力
public class MultiCalc { public static void main(String[] args) { for (int i = 10; i < 100; i++) { if (i != 10) { System.out.print(i); } for (int j = 11; j < 100; j++) { if (i == 10) { System.out.print("\t" + j); } else { System.out .print("\t" + ((int) (i / 10) * (int) (j / 10) * 100 + (int) (i / 10) * (j % 10) * 10 + (i % 10) * (int) (j / 10) * 10 + (i % 10) * (j % 10))); } } System.out.print("\n"); } } }
ありがとうございます。中々シンプルですね。
ありがとうございます。中々シンプルですね。