Глава 3
Задача 3.14 "Дни рождения "
Создайте таблицу значений n и p(n), исходя из того, что n принимает значения от 10 до 50.
Решение 2
Код программы:
import java.text.*;
import javagently.*;
import java.util.*;
import java.io.*;
class Birthdays {
int colsPerLine = 5;
int maxLineNo = 10;
String gap = "\t\t";
Birthdays () {
// First print the headings
System.out.println("\t\tProbably of coincidence of Birthday ");
System.out.println("\t\t===================================");
System.out.println();
for (int col = 0; col < colsPerLine; col++)
System.out.print("People Probably\t");
System.out.println();
// Seconnd, print the table:
for (int r = 0; r < maxLineNo; r++)
outaLine(r);
}
// All programs must have a main method
public static void main (String [ ] args) {
// Start the program running from its constructor
new Birthdays();
}
double Proba(int n){
int m = 365;
double k = 1;
double p = 0;
for(int i=0; i < n; i++){
k = k*(m-i)/m;
}
p = 1 - k;
return p;
}
void outaLine(int thisline) {
for (int col = 1; col < colsPerLine*10; ) {
int c = thisline + col;
System.out.print( c + "\t\t");
System.out.print(Stream.format(Proba(c), 3, 4) + gap);
col = col+10;
}
System.out.println();
}
}
Результат :
Назад |
Начало урока |
Вверх |
Вперед
Содержание