/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
import java.text.DecimalFormat ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
Scanner cin
= new Scanner
( System .
in ) ; boolean run = true ;
int [ ] sum = new int [ 13 ] ;
float [ ] percent = new float [ 13 ] ;
int streak = 0 , streakValue = 0 , currentStreak = 0 , streakStart = 0 , trials = 0 ;
int dice1 = 0 , dice2 = 0 ;
for ( int i = 0 ; i < sum.length ; ++ i)
{
sum[ i] = 0 ;
percent[ i] = 0.0f;
}
do
{
trials = cin.nextInt ( ) ;
int prevSum = 0 ;
for ( int t = 0 ; t < trials; ++ t)
{
dice1
= ( int ) ( ( Math .
random ( ) * 6 ) + 1 ) ; dice2
= ( int ) ( ( Math .
random ( ) * 6 ) + 1 ) ; sum[ dice1 + dice2] ++ ;
if ( ( dice1 + dice2) == prevSum)
{
++ currentStreak ;
streakValue = prevSum ;
if ( currentStreak > streak)
{
streak = currentStreak ;
streakStart = t - streak ;
}
}
else {
currentStreak = 1 ;
}
prevSum = dice1 + dice2 ;
}
System .
out .
println ( "Continue ? (y/n) : " ) ; run = cin.nextLine ( ) .equals ( "y" ) ;
} while ( run) ;
// Start from 2 - the minimum sum possible.
for ( int i = 2 ; i < 13 ; ++ i)
{
percent[ i] = ( float ) sum[ i] / ( float ) trials * 100.0f ;
System .
out .
println ( "The sum " + i
+ " has occurred " + df.
format ( percent
[ i
] ) + "% of times" ) ; }
System .
out .
println ( "Longest streak of " + streakValue
+ " has occurred for " + streak
+ " times" ) ; System .
out .
println ( "It started at : " + streakStart
) ; }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnRleHQuRGVjaW1hbEZvcm1hdDsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJU2Nhbm5lciBjaW4gPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwoJCWJvb2xlYW4gcnVuID0gdHJ1ZSA7CgkJaW50W10gc3VtID0gbmV3IGludFsxM10gOwoJCWZsb2F0W10gcGVyY2VudCA9IG5ldyBmbG9hdFsxM107CgkJaW50IHN0cmVhayA9IDAsIHN0cmVha1ZhbHVlID0gMCwgY3VycmVudFN0cmVhayA9IDAsIHN0cmVha1N0YXJ0ID0gMCwgdHJpYWxzID0gMCA7CgkJaW50IGRpY2UxID0gMCwgZGljZTIgPSAwIDsKCQlmb3IoaW50IGkgPSAwOyBpIDwgc3VtLmxlbmd0aDsgKytpKQoJCXsKCQkJc3VtW2ldID0gMCA7CgkJCXBlcmNlbnRbaV0gPSAwLjBmOwoJCX0KCQlkbwoJCXsKCQkJdHJpYWxzID0gY2luLm5leHRJbnQoKTsKCQkJaW50IHByZXZTdW0gPSAwIDsKCQkJCQoJCQlmb3IoaW50IHQgPSAwOyB0IDwgdHJpYWxzOyArK3QpCgkJCXsKCQkJCWRpY2UxID0gKGludCkgKChNYXRoLnJhbmRvbSgpICogNikgKyAxKTsKCQkJCWRpY2UyID0gKGludCkgKChNYXRoLnJhbmRvbSgpICogNikgKyAxKTsKCQkJCXN1bVtkaWNlMSArIGRpY2UyXSsrIDsKCQkJCWlmKChkaWNlMSArIGRpY2UyKSA9PSBwcmV2U3VtKQoJCQkJewoJCQkJCSsrY3VycmVudFN0cmVhayA7CgkJCQkJc3RyZWFrVmFsdWUgPSBwcmV2U3VtIDsKCQkJCQlpZihjdXJyZW50U3RyZWFrID4gc3RyZWFrKQoJCQkJCXsKCQkJCQkJc3RyZWFrID0gY3VycmVudFN0cmVhayA7CgkJCQkJCXN0cmVha1N0YXJ0ID0gdCAtIHN0cmVhayA7CgkJCQkJfQoJCQkJfQoJCQkJZWxzZSB7CgkJCQkJY3VycmVudFN0cmVhayA9IDEgOwoJCQkJfQoJCQkJcHJldlN1bSA9IGRpY2UxICsgZGljZTIgOwoJCQl9CgkJCQoJCQlTeXN0ZW0ub3V0LnByaW50bG4oIkNvbnRpbnVlID8gKHkvbikgOiAiKTsKCQkJcnVuID0gY2luLm5leHRMaW5lKCkuZXF1YWxzKCJ5Iik7CgkJfSB3aGlsZShydW4pOwoJCQoJCURlY2ltYWxGb3JtYXQgZGYgPSBuZXcgRGVjaW1hbEZvcm1hdCgiIyMjLiMjIik7CgkJCgkJLy8gU3RhcnQgZnJvbSAyIC0gdGhlIG1pbmltdW0gc3VtIHBvc3NpYmxlLgoJCWZvcihpbnQgaSA9IDI7IGkgPCAxMzsgKytpKQoJCXsKCQkJcGVyY2VudFtpXSA9IChmbG9hdClzdW1baV0gLyAoZmxvYXQpdHJpYWxzICogMTAwLjBmIDsKCQkJU3lzdGVtLm91dC5wcmludGxuKCJUaGUgc3VtICIgKyBpICsgIiBoYXMgb2NjdXJyZWQgIiArIGRmLmZvcm1hdChwZXJjZW50W2ldKSArICIlIG9mIHRpbWVzIik7CgkJfQoJCVN5c3RlbS5vdXQucHJpbnRsbigiTG9uZ2VzdCBzdHJlYWsgb2YgIiArIHN0cmVha1ZhbHVlICsgIiBoYXMgb2NjdXJyZWQgZm9yICIgKyBzdHJlYWsgKyAiIHRpbWVzIik7CgkJU3lzdGVtLm91dC5wcmludGxuKCJJdCBzdGFydGVkIGF0IDogIiArIHN0cmVha1N0YXJ0KTsKCX0KCQp9