- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
该代码用于运行模拟来找出 n 个人生日相同的概率。
我将随机分配的生日与一组日期进行比较。对于任何具有超过 1 个等值的日期,我在分子上加了 1。
但是,代码的答案是错误的。我不知道为什么。
import java.util.Scanner;
public class birthday {
public static void main (String[] args) {
Scanner inp = new Scanner(System.in);
System.out.println("How many trials");
int n = inp.nextInt();
//variable declaration
double[] birthdate = new double[n];
int num = 0;
int numerator = 0;
double bday = 0;
int trials = 0;
//assign birthdays to n people
for (int i = 0; i < n; i++)
{
birthdate[i] = Math.floor(Math.random() * 365) + 1;
System.out.println(birthdate[i]);
}
for (int i = 1; i <= 365; i++)
{
for (int j = 0; j < n; j++)
{
bday = birthdate[j];
//compare birthdates to dates
if (bday == i)
{
num++;
if (num > 1)
{
numerator++;
}
}
}
num = 0;
}
double ans = (double) numerator / n;
System.out.println("The answer is " + ans);
}
}
最佳答案
For any dates that has more than 1 equal value, I added one to the numerator.
这不是你的代码的作用。对于任何至少有 2 个人在该日期过生日的日期,您将这些人的数量减去 1 到分子中。
如果你想让你的代码按照上面的语句工作,你必须更改以下代码
for (int j = 0; j < n; j++)
{
bday = birthdate[j];
//compare birthdates to dates
if (bday == i)
{
num++;
if (num > 1)
{
numerator++;
}
}
}
num = 0;
这段代码:
for (int j = 0; j < n; j++)
{
bday = birthdate[j];
//compare birthdates to dates
if (bday == i)
{
num++;
}
}
if (num > 1)
{
numerator++;
}
num = 0;
这样,代码 if (num > 1) numerator++
就不会为每个人重复(从第二个开始),而是每个日期只执行一次。
无论如何,我怀疑这两个版本的代码是否能计算出“n 个人生日相同的概率”。如果这就是你想要的近似值,你应该多次重复整个实验,计算其中有多少个 n 人共享他们的生日,然后除以实验次数:
import java.util.Scanner;
public class birthday {
public static void main(String[] args) {
Scanner inp = new Scanner(System.in);
System.out.println("How many trials?");
int numExperiments = inp.nextInt();
System.out.println("How many persons?");
int n = inp.nextInt();
// variable declaration
int dups = 0;
for (int k = 0; k < numExperiments; k++) {
boolean foundDup = false;
int[] birthdate = new int[n];
// assign birthdays to n people
for (int i = 0; i < n; i++) {
birthdate[i] = (int) (Math.random() * 365) + 1;
}
// check, if there is a duplicate
for (int i = 1; i <= 365; i++) {
int num = 0;
for (int j = 0; j < n; j++) {
// compare birthdates to dates
if (birthdate[j] == i) {
num++;
}
}
if (num > 1) {
foundDup = true;
}
num = 0;
}
// count cases with duplicates
if (foundDup) {
dups++;
}
}
double ans = (double) dups / numExperiments;
System.out.println("The answer is " + ans);
}
}
关于java - 查找重复的生日 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32674644/
如果我在 forms.py 中有: birthdate = forms.DateTimeField() 和 html: 我需要创建一个新的小部件还是有答案?
我正在尝试从 facebook sdk 获取生日,我可以获取我的生日,但我无法从其他帐户获取生日。我已经在“设置”中设置了联系人电子邮件,并在此处回答了一个应用程序供公众使用:Set up app p
我需要存储用户的出生日期。我在前端创建了一个表单,通过 3 个选择下拉菜单获取他们的出生日期年、月和日。我目前将这三个值存储在 SQL 中,并具有相同名称的列。 我需要执行的查询之一是获取高于或低于特
我有 mysql 数据库,以生日列作为日期。 保存到此列的最佳方式是什么,年份是可选的。我应该随便放一些年份吗?在数据库中保存生日的最佳做法是什么。 我在 cakephp 中创建了 3 个文本字段,日
考虑到此代码(基于 Python/Mongoengine),我知道如何找到下一个即将到来的生日 class User(mongoengine.Document): (...) birthday
在以前版本的 Prestashop 1.6 中,注册表单有生日字段的日期选择器和一个下拉列表,我们可以在其中选择月、日、年。 Prestashop 版本 1.6 - 生日截图: 然后在最新版本的Pre
我正在使用带有changeYear 的jquery ui datepicker。问题是它以 block 的形式显示年份(从 1985 年到 2005 年,然后单击 1985 年打开其他年份)我需要显示
我正试图在来自佛蒙特州和纽约的成员(member)的生日表中找到最年长的人。我的成员类似于以下内容: Members ------- MemberID, Firstname, Lastname, Bi
工作中需要用到身份证验证,还要支持检查15位和18位。 我一时手懒,问同事有没有现成的函数可用,同事google了一下,扔给我一个 asp-vbscript版本的函数。 可我这边是客户端j
我正在努力解决以下正则表达式: \b[\dBb][-. \dEe]+(\d{4})\b 它应该匹配帐号,但不匹配 token /生日或其中包含“be”的文本。在 community 的支持下,我成功捕
我有一个简单的小部件,它有: 请注意,今天是生日。因此,它意味着保持相同,无论您身在何处(不应该发生时区)。如果您 1 月 10 日凌晨 3:00 出生在英国,并且在纽约查看您的个人信息,您应该仍然
在我的数据库中,日期存储为 dd/mm/yyyy。当我检索它时,我想将日期分别拆分为字符串日、字符串月和字符串年。我应该怎么做? “/”将是分隔符,对吗? 最佳答案 您需要可以使用DateTime.P
我很难通过 Facebook SDK 获取用户信息。 我正在努力争取生日、工作和教育。 我正在使用这个: let graphRequest : FBSDKGraphRequest = FBSDKGr
我正在尝试使用 NSSortDescriptor 按日期对 NSMutableArray *friends, key:birthday 进行排序,我的 NSLog 中的所有生日都为空,但名称仍在记录中
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我正在尝试从其 Google Plus 帐户获取用户的信息,包括性别和年龄。由于这些字段可能是私有(private)的,我认为明确请求它们可以解决问题。然而,尽管登录对话框明确指出该应用程序请求查看您
我正在制作一个 facebook 应用程序来显示用户的生日......... 'YOUR_APP_ID', 'secret' => 'Y
我正在尝试将 OAuth2 登录添加到我基于 Node/ExpressJS/MongoDB/PassportJS 构建的应用中。 我用这个方法可以成功登录,但是我无法获取某些信息。我唯一能够访问的是
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我无法让我的代码来获取我的测试帐户的“生日”,甚至我自己的“生日”(任何地方都没有成功!)来回显,尽管从我所看到的来看,我正在正确地请求它并且我拥有适当的权限对于“user_birthday”。 但是
我是一名优秀的程序员,十分优秀!