Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Main4
//Rextester.Program.Main is the entry point for your code. Don't change it. //Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5 using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; using ShuffleExtension; using System.Threading; namespace Rextester { public class Program { public int ratio1; public int ratio2; public int ratio3; public int num1, num2, num3; public static void Main(String[] args){ //makeDivQ(500,999,10,99); //addLineBreak(30,2108); //makeDivQ(1000,9999,1,9); //makeDivQ(10,99,5,9); //makeAlgebra(); //makeSubQ2by2(10,100,10,100); //makeFracQ(); //makeDivQ(10,99,2,9); makeDeciQ(); } public static int Tens(){ int rand = Rand.Next(0,2); if (rand==0) { return 10; } else return 100; } public static void makeMultQ(int lower1, int upper1, int lower2, int upper2) { string title = "Multiplication (1)"; List<string> questions = new List<string>(); for (int k=0; k<4; k++){ for (int i=lower1; i<=upper1; i++){ for (int j=lower2; j<=upper2; j++){ questions.Add(" \\item \\("+i+"\\times"+j+"=\\underline{\\hspace{2cm}}\\)"); //\\mathmakebox[1.45cm][r]{ } } } questions.Shuffle(); PrintArithmetic(questions, title); } public static void makeDivQ(int lower1, int upper1, int lower2, int upper2) { string title = "Division (2 by 1 digits) General"; List<string> questions = new List<string>(); for (int k=0; k<4; k++){ for (int i=lower1; i<=upper1; i++){ for (int j=lower2; j<=upper2; j++){ if (i>j){questions.Add(" \\item \\(\\mathmakebox[1.45cm][r]{"+i+"\\div"+j+"}=\\underline{\\hspace{2cm}}\\)");} } } } questions.Shuffle(); PrintArithmetic(questions, title); } public static void makeDeciQ(){ string title = "Decimal Arithmetic General"; // Division List<string> divQ = new List<string>(); for (int i=0; i<6500; i++) { int tens = Tens(); double argument = Math.Truncate(Rand.NextD(1.0,99.99)*tens)/tens; decimal num1 = Convert.ToDecimal(argument); int dividend = Rand.Next(2,1000); decimal result = dividend/num1; int count = BitConverter.GetBytes(decimal.GetBits(result)[3])[2]; //Console.WriteLine(count); if(count<4 && divQ.Count()<120) { //Console.WriteLine("{0}/{1}={2}", dividend,num1, dividend/num1); divQ.Add(" \\item \\(\\mathmakebox[3cm][r]{"+dividend+"\\div"+num1+"}=\\underline{\\hspace{2cm}}\\)"); } } //Multiplication List<string> multQ = new List<string>(); for (int i=0; i<120; i++) { double number = Rand.NextD(1.0,99.99); int hund; double num1; if (number>=10) { num1 = Math.Truncate(number*10)/10; hund = 10; } else { num1 = Math.Truncate(number*100)/100; hund = 10; } double num2 = Math.Truncate(Rand.NextD(2,hund)*hund)/hund; double result = num1*num2; if ( (Math.Floor(num1)!=num1 || Math.Floor(num2)!=num2) && multQ.Count()<120) { multQ.Add(" \\item \\(\\mathmakebox[3cm][r]{"+num1+"\\times"+num2+"}=\\underline{\\hspace{2cm}}\\)"); } } //Add List<string> addQ = new List<string>(); for (int i=0; i<120; i++) { double number = Rand.NextD(1.0,99.99); int hund = Tens(); double num1; if (number>=10) { num1 = Math.Truncate(number*10)/10; //hund = 100; } else { num1 = Math.Truncate(number*100)/100; //hund = 10; } double num2 = Math.Truncate(Rand.NextD(2,hund)*hund)/hund; double result = num1+num2; addQ.Add(" \\item \\(\\mathmakebox[3cm][r]{"+num1+"+"+num2+"}=\\underline{\\hspace{2cm}}\\)"); } //Subtract List<string> subQ = new List<string>(); for (int i=0; i<300; i++) { double number = Rand.NextD(1.0,99.99); int hund = Tens(); double num1; if (number>=10) { num1 = Math.Truncate(number*10)/10; //hund = 100; } else { num1 = Math.Truncate(number*100)/100; //hund = 10; } double num2 = Math.Truncate(Rand.NextD(2,hund)*hund)/hund; if(num1>num2) { double result = num1-num2; subQ.Add(" \\item \\(\\mathmakebox[3cm][r]{"+num1+"+"+num2+"}=\\underline{\\hspace{2cm}}\\)"); } } List<string> questions = new List<string>(); questions.AddRange(addQ); questions.AddRange(subQ); questions.AddRange(multQ); questions.AddRange(divQ); questions.Shuffle(); PrintArithmetic(questions,title); } /*public static void makeDeciQ(double upper1) { string title = "Division (2 by 1 digits) General"; List<string> addquestions = new List<string>(); List<string> subquestions = new List<string>(); List<string> multquestions = new List<string>(); List<string> divquestions = new List<string>(); string[] op = new string[4] {"+", "-", "\\times", "\\div"}; for (int i=1; i<=upper1; i++){ int operand = Rand.Next(1,4); double[] num = new double[2] {Math.Truncate(Rand.NextD(1.0,99.99)*100)/100, Rand.Next(2,999)}; decimal num1 = Convert.ToDecimal(num[1])); //if (operand==2){questions.Add(" \\item \\(\\mathmakebox[1.45cm][r]{"+num[0]+op[operand]+num[1]+"}=\\underline{\\hspace{2cm}}\\)");} if (operand==4 && num[2]%num1==0){questions.Add(" \\item \\(\\mathmakebox[1.45cm][r]{"+num[0]+op[operand]+num[1]+"}=\\underline{\\hspace{2cm}}\\)");} //else if (operand==1) {questions.Add(" \\item \\(\\mathmakebox[1.45cm][r]{"+num[0]+op[operand]+num[1]+"}=\\underline{\\hspace{2cm}}\\)");} //else if (operand==3) {questions.Add(" \\item \\(\\mathmakebox[1.45cm][r]{"+num[0]+op[operand]+num[1]+"}=\\underline{\\hspace{2cm}}\\)");} } //questions.Shuffle(); //PrintArithmetic(questions, title); }*/ public static void makeSubQ2by2(int lower1, int upper1, int lower2, int upper2){ string[] latex = new string[] {"\\fontsize{12pt}{16pt}\\selectfont", " \\setlength\\itemsep{2em}"}; string[] op = new string[2] {"(", ")("}; string end =")=\\)"; List<string> questions = new List<string>(); for (int i=lower1; i<=upper1; i+=9){ //for (int i=10; i<100;i++){ for (int j=lower2; j<=upper2; j+=9){ //for (int j=10; j<100;j++){ if (i!=j && i+j<100){questions.Add(" \\item \\(\\mathmakebox[1.45cm][r]{"+i+"-"+j+"}=\\underline{\\hspace{2cm}}\\)");} /*if (i>j) { questions.Add(" \\item \\("+i+"-"+j+"=\\)"); }*/ } } questions.Shuffle(); //Console.WriteLine(questions.Count()); Print(questions); /*for (int i=0; i<questions.Count(); i++){ if(i==0){ Console.WriteLine("\\begin{figure}[ht!]"); Console.WriteLine("\\vspace{-23mm}\\hspace*{-23mm}\\includegraphics[scale=0.9]{Logo.jpg}"); Console.WriteLine("\\end{figure}"); Console.WriteLine(); Console.WriteLine("\\vspace{-15mm}\\begingroup"); Console.WriteLine("\\centering"); Console.WriteLine("\\LARGE "+title+" \\\\[0.5em]"); //Console.WriteLine("\\large Promatics Education Centre\\\\[1.5em]"); Console.WriteLine("\\endgroup"); Console.WriteLine(); Console.WriteLine(latex[0]); Console.WriteLine("\\textbf{Exercise "+(i/30+1)+". "+exerciseTitle+".}\\\\"); Console.WriteLine("\\begin{multicols}{2}"); Console.WriteLine(" \\begin{enumerate}[label=\\arabic*)]"); Console.WriteLine(latex[1]); } Console.WriteLine(questions[i]); if (i!=0 && (i+1)%30==0){ Console.WriteLine("\\end{enumerate}"); Console.WriteLine("\\end{multicols}"); Console.WriteLine(); Console.WriteLine("\\pagebreak[4]"); Console.WriteLine(); Console.WriteLine("\\begin{figure}[ht!]"); Console.WriteLine("\\vspace{-23mm}\\hspace*{-23mm}\\includegraphics[scale=0.9]{Logo.jpg}"); Console.WriteLine("\\end{figure}"); Console.WriteLine(); Console.WriteLine("\\vspace{-15mm}\\begingroup"); Console.WriteLine("\\centering"); Console.WriteLine("\\LARGE "+title+" \\\\[0.5em]"); //Console.WriteLine("\\large Promatics Education Centre\\\\[1.5em]"); Console.WriteLine("\\endgroup"); Console.WriteLine(); Console.WriteLine(latex[0]); Console.WriteLine("\\textbf{Exercise "+((i+30)/30+1)+". "+exerciseTitle+".}\\\\"); Console.WriteLine("\\begin{multicols}{2}"); Console.WriteLine(" \\begin{enumerate}[label=\\arabic*)]"); Console.WriteLine(latex[1]); } }*/ } public static void makeAlg(){ int[] n = new int[10]; for (int j=0; j<50; j++) { for (int i =0; i<n.Length; i++){ n[i] = Rand.Next(1,10); } char[] op = new char[] {'+','-'}; int x = Rand.Next(0,2); int y = Rand.Next(0,2); int z = Rand.Next(0,2); Console.WriteLine("\\(\\dfrac{{{7}(x{4}{0})}}{{{1}}}{6}\\dfrac{{{8}(x{5}{2})}}{{{3}}}=\\)\\\\",n[0],n[1],n[2],n[3],op[x],op[y],op[z],n[4],n[5]); } } public static void makeQ(int lower1, int upper1, int lower2, int upper2){ for (int i=lower1; i<=upper1; i+=9){ for (int j=lower2; j<=upper2; j+=9){ Console.WriteLine(" \\item \\("+i+"\\operation"+j+"=\\)"); } } } public static void makeFracQ(){ string title = "Algebra Simplification Introduction"; string exerciseTitle = "Simplify the algebraic expressions"; int m=0; int i_final=30000; int incre= 0; string[] latex = new string[] {"\\fontsize{12pt}{16pt}\\selectfont", " \\setlength\\itemsep{2em}"}; string mathbox = "\\mathmakebox[1.45cm][r]{"; string[] op = new string[2] {"(", ")("}; string end =")=\\)"; List<string> questions = new List<string>(); //for (int i=lower1; i<=upper1; i+=9){ for (int i=1; i<100;i++){ //for (int j=lower2; j<=upper2; j+=9){ for (int j=10; j<100;j++){ int num1 = Rand.Next(1,10); int num2 = Rand.Next(1,10); int denom1 = Rand.Next(2,10); int denom2 = Rand.Next(2,10); int mixed1 = Rand.Next(0,10); int mixed2 = Rand.Next(0,10); if (num1!=denom1 && num2!=denom1 && num1<denom1 && num2<denom1){questions.Add(" \\item \\("+mixed1+"\\dfrac{"+num1+"}{"+denom1+"}+"+mixed2+"\\dfrac{"+num2+"}{"+denom1+"}=\\underline{\\hspace{2cm}}\\)");} /*if (i>j) { questions.Add(" \\item \\("+i+"-"+j+"=\\)"); }*/ } } questions.Shuffle(); //Console.WriteLine(questions.Count()); for (int i=0; i<questions.Count(); i++){ if(i==0){ Console.WriteLine("\\begin{figure}[ht!]"); Console.WriteLine("\\vspace{-23mm}\\hspace*{-23mm}\\includegraphics[scale=0.9]{Logo.jpg}"); Console.WriteLine("\\end{figure}"); Console.WriteLine(); Console.WriteLine("\\vspace{-15mm}\\begingroup"); Console.WriteLine("\\centering"); Console.WriteLine("\\LARGE "+title+" \\\\[0.5em]"); //Console.WriteLine("\\large Promatics Education Centre\\\\[1.5em]"); Console.WriteLine("\\endgroup"); Console.WriteLine(); Console.WriteLine(latex[0]); Console.WriteLine("\\textbf{Exercise "+(i/30+1)+". "+exerciseTitle+".}\\\\"); Console.WriteLine("\\begin{multicols}{2}"); Console.WriteLine(" \\begin{enumerate}[label=\\arabic*)]"); Console.WriteLine(latex[1]); } Console.WriteLine(questions[i]); if (i!=0 && (i+1)%30==0){ Console.WriteLine("\\end{enumerate}"); Console.WriteLine("\\end{multicols}"); Console.WriteLine(); Console.WriteLine("\\pagebreak[4]"); Console.WriteLine(); Console.WriteLine("\\begin{figure}[ht!]"); Console.WriteLine("\\vspace{-23mm}\\hspace*{-23mm}\\includegraphics[scale=0.9]{Logo.jpg}"); Console.WriteLine("\\end{figure}"); Console.WriteLine(); Console.WriteLine("\\vspace{-15mm}\\begingroup"); Console.WriteLine("\\centering"); Console.WriteLine("\\LARGE "+title+" \\\\[0.5em]"); //Console.WriteLine("\\large Promatics Education Centre\\\\[1.5em]"); Console.WriteLine("\\endgroup"); Console.WriteLine(); Console.WriteLine(latex[0]); Console.WriteLine("\\textbf{Exercise "+((i+30)/30+1)+". "+exerciseTitle+".}\\\\"); Console.WriteLine("\\begin{multicols}{2}"); Console.WriteLine(" \\begin{enumerate}[label=\\arabic*)]"); Console.WriteLine(latex[1]); } } } /*public static void makeDivQ(int lower1, int upper1, int lower2, int upper2){ for (int i=lower1; i<=upper1; i++){ for (int j=lower2; j<=upper2; j++){ if (i%j==0) { Console.WriteLine("\\("+i+"\\div"+j+"=\\)"); } } } }*/ public static void makeAlgebra(){ string[] vari = new string[24] {"a","b","c","d","f","g","h","k","m","n","p","q","r","s","t","u","v","w","x","y","z","\\delta", "\\epsilon", "\\phi"}; //var[0] = "a"; //var[1] = "b"; //var[2] = "c"; int n=-1; // n is the random number of variables per question int m=0; int i_final=30000; int incre= 0; string title = "Algebra Simplification Introduction"; string exerciseTitle = "Simplify the algebraic expressions"; string[] latex = new string[] {"\\fontsize{12pt}{16pt}\\selectfont", " \\setlength\\itemsep{2em}"}; string[] op = new string[2] {"(", ")("}; string end =")=\\)"; for (int i=1; i<=i_final; i++) { int num2=Rand.Next(0,3); // range of number of different variables per question int num = Rand.Next(2,5); // range of number of total variables per question int consts=Rand.Next(1,6); // range of coefficients of the variables if(i==1){ Console.WriteLine("\\begin{figure}[ht!]"); Console.WriteLine("\\vspace{-23mm}\\hspace*{-23mm}\\includegraphics[scale=0.9]{Logo.jpg}"); Console.WriteLine("\\end{figure}"); Console.WriteLine(); Console.WriteLine("\\vspace{-15mm}\\begingroup"); Console.WriteLine("\\centering"); Console.WriteLine("\\LARGE "+title+" \\\\[0.5em]"); //Console.WriteLine("\\large Promatics Education Centre\\\\[1.5em]"); Console.WriteLine("\\endgroup"); Console.WriteLine(); Console.WriteLine(latex[0]); Console.WriteLine("\\textbf{Exercise "+(m/30+1)+". "+exerciseTitle+".}\\\\"); Console.WriteLine("\\begin{multicols}{2}"); Console.WriteLine(" \\begin{enumerate}[label=\\arabic*)]"); Console.WriteLine(latex[1]); } if (n==-1){ //first variable of each question Console.Write(" \\item \\("); } if (n==0){ Console.Write(consts+vari[num2+3*incre]+op[0]); } else if (n>0 && n<num){ Console.Write(consts+vari[num2+3*incre]+op[1]); } n++; if (n==num){ m++; Console.Write(consts+vari[num2+3*incre]); Console.Write(end); Console.WriteLine(); if (m%30==0) { incre=Rand.Next(0,8); Console.WriteLine("\\end{enumerate}"); Console.WriteLine("\\end{multicols}"); Console.WriteLine(); Console.WriteLine("\\pagebreak[4]"); Console.WriteLine(); Console.WriteLine("\\begin{figure}[ht!]"); Console.WriteLine("\\vspace{-23mm}\\hspace*{-23mm}\\includegraphics[scale=0.9]{Logo.jpg}"); Console.WriteLine("\\end{figure}"); Console.WriteLine(); Console.WriteLine("\\vspace{-15mm}\\begingroup"); Console.WriteLine("\\centering"); Console.WriteLine("\\LARGE "+title+" \\\\[0.5em]"); //Console.WriteLine("\\large Promatics Education Centre\\\\[1.5em]"); Console.WriteLine("\\endgroup"); Console.WriteLine(); Console.WriteLine(latex[0]); Console.WriteLine("\\textbf{Exercise "+(m/30+1)+". "+exerciseTitle+".}\\\\"); Console.WriteLine("\\begin{multicols}{2}"); Console.WriteLine(" \\begin{enumerate}[label=\\arabic*)]"); Console.WriteLine(latex[1]); } Console.Write(" \\item \\("); n=0; } else if (n>num){ m++; Console.Write(consts+vari[num2+3*incre]); Console.Write(end); Console.WriteLine(); if (m%30==0) { incre=Rand.Next(0,8); Console.WriteLine("\\end{enumerate}"); Console.WriteLine("\\end{multicols}"); Console.WriteLine(); Console.WriteLine("\\pagebreak[4]"); Console.WriteLine(); Console.WriteLine("\\begin{figure}[ht!]"); Console.WriteLine("\\vspace{-23mm}\\hspace*{-23mm}\\includegraphics[scale=0.9]{Logo.jpg}"); Console.WriteLine("\\end{figure}"); Console.WriteLine(); Console.WriteLine("\\vspace{-15mm}\\begingroup"); Console.WriteLine("\\centering"); Console.WriteLine("\\LARGE "+title+" \\\\[0.5em]"); //Console.WriteLine("\\large Promatics Education Centre\\\\[1.5em]"); Console.WriteLine("\\endgroup"); Console.WriteLine(); Console.WriteLine(latex[0]); Console.WriteLine("\\textbf{Exercise "+((m+30)/30+1)+". "+exerciseTitle+".}\\\\"); Console.WriteLine("\\begin{multicols}{2}"); Console.WriteLine(" \\begin{enumerate}[label=\\arabic*)]"); Console.WriteLine(latex[1]); } Console.Write(" \\item \\("); n=0; } /* if(i==i_final){ Console.WriteLine("\\end{enumerate}"); Console.WriteLine("\\end{multicols}"); }*/ } } public static void makeDiv4by2() { for (int i =0; i<10000; i++) { int dividend = Rand.Next(1001,10000); int divisor = Rand.Next(11,99); if (dividend%divisor==0) { Console.WriteLine(" \\item \\("+dividend+"\\div"+divisor+"=\\)"); } } } public static void makeSciNot(){ for (int i=0; i<100; i++){ int num1 = Rand.Next(1,10); int dec1 = Rand.Next(1,10); int num2 = Rand.Next(1,10); int dec2 = Rand.Next(1,10); int exp = Rand.Next(-9,10); int plusminus = Rand.Next(-1,2); if (num1>num2 && exp != exp+plusminus){ Console.WriteLine(" \\item \\({0}.{3} \\times 10^{{{2}}}+{1}.{4} \\times 10^{{{5}}}=\\)",num1,num2,exp,dec1,dec2,exp+plusminus); } } } public static void DN(){ //st<string> sign = new List<string>(new string[] {"+","-","*","/"}); List<char> sign = new List<char>(new char[] {'+','-','*','/'}); for (int i=0;i<100;i++){ string question = "{0}{1}{2}{3}{4}{5}{6}"; int pick1= Rand.Next(0+sign.Count()); int pick2= Rand.Next(0+sign.Count()); int pick3= Rand.Next(0+sign.Count()); int num1=Rand.Next(-9,10); int num2=Rand.Next(-9,10); int num3=Rand.Next(-9,10); int num4=Rand.Next(-9,10); string num1_str, num2_str, num3_str, num4_str; bool num1_b = num1<0; bool num2_b = num2<0; bool num3_b = num3<0; bool num4_b = num4<0; if (num1_b && !num2_b && !num3_b && !num4_b) { num1_str = "("+num1.ToString()+")"; Console.WriteLine(question,num1_str,sign[pick1],num2,sign[pick2],num3,sign[pick3],num4); Console.WriteLine(num1+sign[pick1]+num2+sign[pick2]+num3+sign[pick3]+num4); } else if (num2_b && !num1_b && !num3_b && !num4_b){ num2_str = "("+num2.ToString()+")"; Console.WriteLine(question,num1,sign[pick1],num2_str,sign[pick2],num3,sign[pick3],num4); Console.WriteLine(num1+sign[pick1]+num2+sign[pick2]+num3+sign[pick3]+num4); } else if (num3_b && !num1_b && !num2_b && !num4_b){ num3_str = "("+num3.ToString()+")"; Console.WriteLine(question,num1,sign[pick1],num2,sign[pick2],num3_str,sign[pick3],num4); Console.WriteLine(num1+sign[pick1]+num2+sign[pick2]+num3+sign[pick3]+num4); } else if (num4_b && !num1_b && !num2_b && !num3_b){ num4_str = "("+num4.ToString()+")"; Console.WriteLine(question,num1,sign[pick1],num2,sign[pick2],num3,sign[pick3],num4_str); Console.WriteLine(num1+sign[pick1]+num2+sign[pick2]+num3+sign[pick3]+num4); } else if (num1_b && num2_b &&!num3_b && !num4_b){ num1_str = "("+num1.ToString()+")"; num2_str = "("+num2.ToString()+")"; Console.WriteLine(question,num1_str,sign[pick1],num2_str,sign[pick2],num3,sign[pick3],num4); Console.WriteLine(num1+sign[pick1]+num2+sign[pick2]+num3+sign[pick3]+num4); } else if (num1_b && num3_b && !num2_b && !num4_b){ num1_str = "("+num1.ToString()+")"; num3_str = "("+num3.ToString()+")"; Console.WriteLine(question,num1_str,sign[pick1],num2,sign[pick2],num3_str,sign[pick3],num4); Console.WriteLine(num1+sign[pick1]+num2+sign[pick2]+num3+sign[pick3]+num4); } else if (num1_b && num4_b && !num2_b && !num3_b){ num1_str = "("+num1.ToString()+")"; num4_str = "("+num4.ToString()+")"; Console.WriteLine(question,num1_str,sign[pick1],num2,sign[pick2],num3,sign[pick3],num4_str); Console.WriteLine(num1+sign[pick1]+num2+sign[pick2]+num3+sign[pick3]+num4); } else if (num2_b && num3_b && !num1_b && !num4_b){ num2_str = "("+num2.ToString()+")"; num3_str = "("+num3.ToString()+")"; Console.WriteLine(question,num1,sign[pick1],num2_str,sign[pick2],num3_str,sign[pick3],num4); Console.WriteLine(num1+sign[pick1]+num2+sign[pick2]+num3+sign[pick3]+num4); } else if (num2_b && num4_b && !num1_b && !num3_b){ num2_str = "("+num2.ToString()+")"; num4_str = "("+num4.ToString()+")"; Console.WriteLine(question,num1,sign[pick1],num2_str,sign[pick2],num3,sign[pick3],num4_str); Console.WriteLine(num1+sign[pick1]+num2+sign[pick2]+num3+sign[pick3]+num4); } else if (num3_b && num4_b && !num1_b && !num2_b){ num3_str = "("+num3.ToString()+")"; num4_str = "("+num4.ToString()+")"; Console.WriteLine(question,num1,sign[pick1],num2,sign[pick2],num3_str,sign[pick3],num4_str); Console.WriteLine(num1+sign[pick1]+num2+sign[pick2]+num3+sign[pick3]+num4); } else if (num1_b && num2_b && num3_b && !num4_b){ num1_str = "("+num1.ToString()+")"; num2_str = "("+num2.ToString()+")"; num3_str = "("+num3.ToString()+")"; Console.WriteLine(question,num1_str,sign[pick1],num2_str,sign[pick2],num3_str,sign[pick3],num4); Console.WriteLine(num1+sign[pick1]+num2+sign[pick2]+num3+sign[pick3]+num4); } else if (num1_b && num3_b && num4_b && !num2_b){ num1_str = "("+num1.ToString()+")"; num3_str = "("+num3.ToString()+")"; num4_str = "("+num4.ToString()+")"; Console.WriteLine(question,num1_str,sign[pick1],num2,sign[pick2],num3_str,sign[pick3],num4_str); Console.WriteLine(num1+sign[pick1]+num2+sign[pick2]+num3+sign[pick3]+num4); } else if (num1_b && num2_b && num4_b && !num3_b){ num1_str = "("+num1.ToString()+")"; num2_str = "("+num2.ToString()+")"; num4_str = "("+num4.ToString()+")"; Console.WriteLine(question,num1_str,sign[pick1],num2_str,sign[pick2],num3,sign[pick3],num4_str); Console.WriteLine(num1+sign[pick1]+num2+sign[pick2]+num3+sign[pick3]+num4); } else if (num2_b && num3_b && num4_b && !num1_b){ num2_str = "("+num2.ToString()+")"; num3_str = "("+num3.ToString()+")"; num4_str = "("+num4.ToString()+")"; Console.WriteLine(question,num1,sign[pick1],num2_str,sign[pick2],num3_str,sign[pick3],num4_str); Console.WriteLine(num1+sign[pick1]+num2+sign[pick2]+num3+sign[pick3]+num4); } else { Console.WriteLine(question,num1,sign[pick1],num2,sign[pick2],num3,sign[pick3],num4); Console.WriteLine(num1+sign[pick1]+num2+sign[pick2]+num3+sign[pick3]+num4); } } } public static void MixedNum() { int[] n = new int[10]; List<string> questions = new List<string> (); /////////////////// for the strings List<string> lines = new List<string>(); lines.Add("\\begin{figure}[ht!]"); lines.Add("\\vspace{-23mm}\\hspace*{-23mm}\\includegraphics[scale=0.9]{Logo.jpg}"); lines.Add("\\end{figure}"); lines.Add(""); lines.Add("\\begin{addmargin}[21em]{0em}"); lines.Add("\\vspace{-26mm}Name: \\underline{\\hspace{5cm}} \\\\[0.5em]"); lines.Add("\\end{addmargin}\\vspace{5mm}"); lines.Add(""); lines.Add("\\vspace{-10mm}\\begingroup"); lines.Add("\\centering"); lines.Add("\\LARGE Revision \\\\[0.5em]"); lines.Add("\\endgroup"); lines.Add(""); lines.Add("\\section{What numbers (from 2 to 9) can these numbers be divisible by?}"); lines.Add("\\begin{tasks}(2)"); /////////////////////// while (questions.Count()<300) { //n[0] = Rand.Next(10,400); // for prime factorization n[0]=Rand.Next(3,8); n[1]=Rand.Next(); for (int i =0; i<n.Length; i++){ n[i] = Rand.Next(1,13); n[1] = Rand.Next(2,13); n[3] = Rand.Next(2,13); n[4] = Rand.Next(2,10); n[5] = Rand.Next(2,10); } string[] op = new string[] {"+","-"}; int x = Rand.Next(0,op.Count()); int y = Rand.Next(0,2); int z = Rand.Next(0,2); //Console.WriteLine("\\("+n[4]+"\\dfrac{"+n[0]+"}{"+n[1]+op[x]+n[5]+"\\dfrac{"+n[2]+"}{"+n[3]+"}=\\)\\\\"); if (n[1]!=n[3] && n[0]<n[1] && n[2]<n[3]) { double n0 = (double)n[0]; double n1 = (double)n[1]; double n2 = (double)n[2]; double n3 = (double)n[3]; if (op[x].Equals("-")){ if(n[4]>n[5]) { questions.Add(" \\task \\("+n[4]+"\\dfrac{"+n[0]+"}{"+n[1]+"}"+op[x]+n[5]+"\\dfrac{"+n[2]+"}{"+n[3]+"}=\\underline{\\hspace{2cm}}\\)\\\\"); } else if (n[4]==n[5] && ((double)n[0]/(double)n[1])>((double)n[2]/(double)n[3])){ questions.Add(" \\task \\("+n[4]+"\\dfrac{"+n[0]+"}{"+n[1]+"}"+op[x]+n[5]+"\\dfrac{"+n[2]+"}{"+n[3]+"}=\\underline{\\hspace{2cm}}\\)\\\\"); } } else { questions.Add(" \\task \\("+n[4]+"\\dfrac{"+n[0]+"}{"+n[1]+"}"+op[x]+n[5]+"\\dfrac{"+n[2]+"}{"+n[3]+"}=\\underline{\\hspace{2cm}}\\)\\\\"); } // for fraction arithmetic } } int counter=0; int increment=29; for (int i=0; i<questions.Count(); i++) { if ((i)%30==0){ //foreach (string line in lines) { //Console.WriteLine(line); Console.WriteLine("Begin"); //} } Console.WriteLine(questions[i]); if( i==increment) { //Console.WriteLine("\\end{tasks}"); //Console.WriteLine("\\newpage"); Console.WriteLine("End"); } increment = increment + counter*30; counter = counter+1; } //Console.WriteLine(questions.Count()); } public static void PrintArithmetic<T>(List<T> list, string title) { //string title = "Title ()"; //string exerciseTitle = "Instructions"; //int m=0; //int i_final=30000; //int incre= 0; string[] latex = new string[] {"\\fontsize{16pt}{25pt}\\selectfont", " \\setlength\\itemsep{10pt}"}; string[] op = new string[2] {"(", ")("}; //string end = ")=\\)"; for (int i=0; i<list.Count(); i++){ if(i==0){ Console.WriteLine("\\begin{figure}[ht!]"); Console.WriteLine("\\vspace{-23mm}\\hspace*{-23mm}\\includegraphics[scale=0.9]{Logo.jpg}"); Console.WriteLine("\\end{figure}"); Console.WriteLine(); Console.WriteLine("\\vspace{-15mm}\\hspace*{-10mm}\\begingroup"); Console.WriteLine("\\centering"); Console.WriteLine("\\LARGE "+title+" \\\\[0.5em]"); Console.WriteLine("\\endgroup"); Console.WriteLine(); Console.WriteLine(latex[0]); //Console.WriteLine("\\textbf{Exercise "+(i/30+1)+". "+exerciseTitle+".}\\\\"); Console.WriteLine("\\begin{multicols}{2}"); Console.WriteLine(" \\begin{enumerate}[label=\\arabic*)]"); Console.WriteLine(latex[1]); } Console.WriteLine(list[i]); if (i!=0 && (i+1)%30==0){ Console.WriteLine("\\end{enumerate}"); Console.WriteLine("\\end{multicols}"); Console.WriteLine(); Console.WriteLine("\\newpage"); Console.WriteLine(); Console.WriteLine("\\begin{figure}[ht!]"); Console.WriteLine("\\vspace{-23mm}\\hspace*{-23mm}\\includegraphics[scale=0.9]{Logo.jpg}"); Console.WriteLine("\\end{figure}"); Console.WriteLine(); Console.WriteLine("\\vspace{-15mm}\\hspace*{-10mm}\\begingroup"); Console.WriteLine("\\centering"); Console.WriteLine("\\LARGE "+title+" \\\\[0.5em]"); Console.WriteLine("\\endgroup"); Console.WriteLine(); //Console.WriteLine("\\textbf{Exercise "+((i+30)/30+1)+". "+exerciseTitle+".}\\\\"); Console.WriteLine("\\begin{multicols}{2}"); Console.WriteLine(" \\begin{enumerate}[label=\\arabic*)]"); Console.WriteLine(latex[1]); } } } public static void Print<T>(List<T> list) { string title = "Title ()"; string exerciseTitle = "Instructions"; //int m=0; //int i_final=30000; //int incre= 0; string[] latex = new string[] {"\\fontsize{12pt}{16pt}\\selectfont", " \\setlength\\itemsep{2em}"}; string[] op = new string[2] {"(", ")("}; //string end = ")=\\)"; for (int i=0; i<list.Count(); i++){ if(i==0){ Console.WriteLine("\\begin{figure}[ht!]"); Console.WriteLine("\\vspace{-23mm}\\hspace*{-23mm}\\includegraphics[scale=0.9]{Logo.jpg}"); Console.WriteLine("\\end{figure}"); Console.WriteLine(); Console.WriteLine("\\vspace{-15mm}\\begingroup"); Console.WriteLine("\\centering"); Console.WriteLine("\\LARGE "+title+" \\\\[0.5em]"); Console.WriteLine("\\endgroup"); Console.WriteLine(); Console.WriteLine(latex[0]); Console.WriteLine("\\textbf{Exercise "+(i/30+1)+". "+exerciseTitle+".}\\\\"); Console.WriteLine("\\begin{multicols}{2}"); Console.WriteLine(" \\begin{enumerate}[label=\\arabic*)]"); Console.WriteLine(latex[1]); } Console.WriteLine(list[i]); if (i!=0 && (i+1)%30==0){ Console.WriteLine("\\end{enumerate}"); Console.WriteLine("\\end{multicols}"); Console.WriteLine(); Console.WriteLine("\\newpage"); Console.WriteLine(); Console.WriteLine("\\begin{figure}[ht!]"); Console.WriteLine("\\vspace{-23mm}\\hspace*{-23mm}\\includegraphics[scale=0.9]{Logo.jpg}"); Console.WriteLine("\\end{figure}"); Console.WriteLine(); Console.WriteLine("\\vspace{-15mm}\\begingroup"); Console.WriteLine("\\centering"); Console.WriteLine("\\LARGE "+title+" \\\\[0.5em]"); Console.WriteLine("\\endgroup"); Console.WriteLine(); Console.WriteLine(latex[0]); Console.WriteLine("\\textbf{Exercise "+((i+30)/30+1)+". "+exerciseTitle+".}\\\\"); Console.WriteLine("\\begin{multicols}{2}"); Console.WriteLine(" \\begin{enumerate}[label=\\arabic*)]"); Console.WriteLine(latex[1]); } } } public static void LCM(int a, int b) { int lcm; int a_r=a; int b_r=b; int d=max(a_r,b_r); while(d>1) { if (a_r%d==0 && b_r%d==0) { int a_r_temp=a_r/d; int b_r_temp=b_r/d; a_r=a_r_temp; b_r=b_r_temp; lcm=d*a_r*b_r; break; } d--; } lcm=d*a_r*b_r; Console.WriteLine("LCM({0},{1}): {2}", a,b,lcm); } public static void LCM(int a, int b, int c) { int lcm; if (a==0) { Console.Write("LCM("+a+","+b+","+c+") = "); LCM(b,c); } else if (b==0) { Console.Write("LCM("+a+","+b+","+c+") = "); LCM(a,c); } else if(c==0) { Console.Write("LCM("+a+","+b+","+c+") = "); LCM(a,b); } // if all three are equal else if (a==b && b==c) { Console.WriteLine("LCM: "+a); } // if a and b are equal else if (a==b && a!=c) { if (a>c) { // if a is greater than c, use a as divisor then decrement for (int i=a; a>1; i--) { if (a%i==0 && c%i==0) { int a_reduced=a/i; int c_reduced=c/i; lcm = i*a_reduced*c_reduced; Console.WriteLine("LCM("+a+","+b+","+c+"): " + lcm); break; } } } else { // if c is greater than a, use c as divisor then decrement for (int i=c; c>1; i--) { if (a%i==0 && c%i==0) { int a_reduced=a/i; int c_reduced=c/i; lcm = i*a_reduced*c_reduced; Console.WriteLine("LCM("+a+","+b+","+c+"): " + lcm); break; } } } } // if b and c are equal else if (b==c && a!=b) { if (a>b) { // if a is greater than b, use b as divisor then decrement for (int i=a; a>1; i--) { if (a%i==0 && b%i==0) { int a_reduced=a/i; int b_reduced=b/i; lcm = i*a_reduced*b_reduced; Console.WriteLine("LCM("+a+","+b+","+c+"): " + lcm); break; } } } else { // if b is greater than a, use b as divisor then decrement for (int i=b; b>1; i--) { if (a%i==0 && b%i==0) { int a_reduced=a/i; int b_reduced=b/i; lcm = i*a_reduced*b_reduced; Console.WriteLine("LCM("+a+","+b+","+c+"): " + lcm); break; } } } } // if a and c are equal else if (a==c && a!=b) { if (a>b) { // if a is greater than b, use a as divisor then decrement for (int i=a; a>1; i--) { if (a%i==0 && b%i==0) { int a_reduced=a/i; int b_reduced=b/i; lcm = i*a_reduced*b_reduced; Console.WriteLine("LCM("+a+","+b+","+c+"): " + lcm); break; } } } else { // if b is greater than a, use b as divisor then decrement for (int i=b; b>1; i--) { if (a%i==0 && b%i==0) { int a_reduced=a/i; int b_reduced=b/i; lcm = i*a_reduced*b_reduced; Console.WriteLine("LCM("+a+","+b+","+c+"): " + lcm); break; } } } } //if all three are different else { int a_r = a; int b_r = b; int c_r = c; int d = max (a_r,b_r,c_r); //set divisor as the max of the 3 numbers while (d>1) { if (a_r%d==0 && b_r%d==0 && c_r%d==0) { int a_r_temp=a_r/d; int b_r_temp=b_r/d; int c_r_temp=c_r/d; a_r = a_r_temp; b_r = b_r_temp; c_r = c_r_temp; //Console.WriteLine("a_r and b_r and c_r"); break; } else if (a_r%d==0 && b_r%d==0) { int a_r_temp=a_r/d; int b_r_temp=b_r/d; a_r = a_r_temp; b_r = b_r_temp; //Console.WriteLine("a_r and b_r"); break; } else if (a_r%d==0 && c_r%d==0) { int a_r_temp=a_r/d; int c_r_temp=c_r/d; a_r = a_r_temp; c_r = c_r_temp; //Console.WriteLine("a_r and c_r"); break; } else if (b_r%d==0 && c_r%d==0) { int b_r_temp=b_r/d; int c_r_temp=c_r/d; b_r = b_r_temp; c_r = c_r_temp; //Console.WriteLine("b_r and c_r"); break; } else { //lcm=d*a_r*b_r*c_r; //Console.WriteLine("{0}, {1}, {2}, {3}",a_r,b_r,c_r,d); //Console.WriteLine("LCM({0},{1},{2}): {3}",a,b,c,lcm); } d--; } lcm=d*a_r*b_r*c_r; //Console.WriteLine("{0}, {1}, {2}, {3}",a_r,b_r,c_r,d); Console.WriteLine("LCM({0},{1},{2}): {3}",a,b,c,lcm); } } public static int max(int a, int b) { if (a>b){ return a; } else if (b>a){ return b; } else { return a; } } public static int max(int a, int b, int c) { if (a>=b && a>=c) { return a; } else if (b>=a && b>=c) { return b; } else { return c; } } public static void Pyth(int lowerBound, int upperBound) { //Your code goes here for (int i=lowerBound; i<=upperBound; i++) { for (int j=lowerBound; j<=upperBound; j++){ double c = Math.Sqrt(Math.Pow(i,2)+Math.Pow(j,2)); if (c%1==0){ Console.WriteLine("(a,b,c) = (" + i + "," + j + "," + c + ")"); } } } } public static void areaTrapezoid(double top, double bottom, double height) { double area = (top+bottom)*height/2; Console.WriteLine("Area: {0}", area); } public static void volumeCylinder ( double radius, double height) { double vol = radius*radius*Math.PI*height; Console.WriteLine("Volume: {0}", vol); } public static void sAreaCylinder(double radius, double height) { double s_area = 2*calcAreaCircle(radius) + calcAreaCircle(radius)*height; Console.WriteLine("Surface Area: {0}", s_area); } public static void Circumf(int radius){ double circ = 2*radius*Math.PI; Console.WriteLine("Circumference: {0}", circ); } public static void areaCircle(double r){ double area = r*r*Math.PI; Console.WriteLine("Area: {0}", area); } public static double calcAreaCircle(double r){ return r*r*Math.PI; } public static double calcCircumCirlce(double r){ return 2*r*Math.PI; } public static void sAreaCone(int r, int l) {} public static void volumeCone(int r, int h){} public static void SimplifyRatio(int ratio1, int ratio2, int ratio3) { int divisor; if (ratio1>ratio2 && ratio1>ratio3) { divisor = ratio1; } else if (ratio2>ratio1 && ratio2>ratio3) { divisor = ratio2; } else divisor = ratio3; int ratio1_reduce = ratio1; int ratio2_reduce = ratio2; int ratio3_reduce = ratio3; while (divisor!=1) { if(ratio1_reduce%divisor==0 && ratio2_reduce%divisor==0 && ratio3_reduce%divisor==0){ int ratio1_reduce_temp = ratio1_reduce/divisor; int ratio2_reduce_temp = ratio2_reduce/divisor; int ratio3_reduce_temp = ratio3_reduce/divisor; ratio1_reduce = ratio1_reduce_temp; ratio2_reduce = ratio2_reduce_temp; ratio3_reduce = ratio3_reduce_temp; divisor--; } else divisor--; } Console.WriteLine(ratio1+":"+ratio2+":"+ratio3+" = "+ratio1_reduce+":"+ratio2_reduce+":"+ratio3_reduce); } public static void checkAlgebra(){ for (int x = -40; x<40; x++) { int a = 62*x-68; int b = 35; if (a%b==0){ Console.WriteLine(x); } } } public static void addLineBreak(int linesPerSection, int totalLines) { for (int i=0; i<=totalLines; i++) { if (i%linesPerSection==0) { Console.WriteLine("Break"); } else Console.WriteLine("No"); } } public static void circleX(double x, double radius) { Console.WriteLine("("+x+", "+Math.Round(Math.Sqrt(radius*radius-Math.Pow(x,2)),3)+")"); } public static void circleY(double y, double radius) { Console.WriteLine("("+y+", "+Math.Round(Math.Sqrt(radius*radius-Math.Pow(y,2)),3)+")"); } public static void angle(double x1, double y1, double x2, double y2, double x3, double y3) { double l12 = Math.Pow((x1-x2),2) +Math.Pow((y1-y2),2); double l13 = Math.Pow((x3-x1),2) +Math.Pow((y3-y1),2); double l23 = Math.Pow((x3-x2),2) +Math.Pow((y3-y2),2); double lhs = (l13-l12-l23)/(-2*Math.Sqrt(l12)*Math.Sqrt(l23)); double angle2 = Math.Acos(lhs); //double angle2 = Math.Round(Math.Acos()*100,3); //Console.WriteLine(angle2 + " degrees C"); Console.WriteLine(l12 + " " + l23 + " " + l13); Console.WriteLine(lhs); Console.WriteLine(angle2*360/(2*Math.PI)+" degrees"); } } public static class Rand { /// <summary> /// Random number generator used to generate seeds, /// which are then used to create new random number /// generators on a per-thread basis. /// </summary> private static readonly Random globalRandom = new Random(); private static readonly object globalLock = new object(); /// <summary> /// Random number generator /// </summary> private static readonly ThreadLocal<Random> threadRandom = new ThreadLocal<Random>(NewRandom); /// <summary> /// Creates a new instance of Random. The seed is derived /// from a global (static) instance of Random, rather /// than time. /// </summary> public static Random NewRandom() { lock (globalLock) { return new Random(globalRandom.Next()); } } /// <summary> /// Returns an instance of Random which can be used freely /// within the current thread. /// </summary> public static Random Instance { get { return threadRandom.Value; } } /// <summary>See <see cref="Random.Next()" /></summary> public static int Next() { return Instance.Next(); } /// <summary>See <see cref="Random.Next(int)" /></summary> public static int Next(int maxValue) { return Instance.Next(maxValue); } /// <summary>See <see cref="Random.Next(int, int)" /></summary> public static int Next(int minValue, int maxValue) { return Instance.Next(minValue, maxValue); } /// <summary>See <see cref="Random.NextDouble()" /></summary> public static double NextDouble() { return Instance.NextDouble(); } /// <summary>See <see cref="Random.NextBytes(byte[])" /></summary> public static void NextBytes(byte[] buffer) { Instance.NextBytes(buffer); } public static double NextD(double minValue, double maxValue) { return Instance.NextDouble()*(maxValue-minValue)+minValue; } } } namespace ShuffleExtension { public static class ShuffleExtend { //private static readonly Random rnd = new Random(); public static void Shuffle<T>(this IList<T> list) { int n = list.Count; while (n > 1) { int k = (Rextester.Rand.Next(0, n) % n); n--; T value = list[k]; list[k] = list[n]; list[n] = value; } } } }
run
|
edit
|
history
|
help
0
Math 10.5 (Added simult 4x4)
Four Digit Number
Speed test for email text replacements
BiologyQuestions
Full text search using Linqdb
count the string
test
prettier Tasty
Testing email address validation
Guid Formatting Code Snippet