相同的数学和数字不同的答案?
Same math and numbers different answers?
我正在写一个简单的程序,你给它一些天数,它返回与你给的天数相等的年数、周数和天数。
但我注意到即使在我检查数学时你也可以得到两个不同的答案,这在两种情况下都是有意义的。
有人可以向我解释为什么答案不同,哪个是正确的
#include<iostream>
using namespace std;
int main()
{
int y;
int d,w;
int Days;
cin>>d;
y=d/365;
int LessThanAYearDays = d%365;
Days=LessThanAYearDays%7;
w=LessThanAYearDays/7;
int SameDays = d%7;
cout<<"answer1 is : "<<y<<" "<<w<<" "<<Days<< "\n";
cout<<"answer2 is : "<<y<<" "<<w<<" "<<SameDays<< "\n";
return 0;
}
一年中没有精确的周数,所以您显示的是不同的东西。他们在能被 7 整除的年份中是相同的。
例如假设给定年份从星期二开始。
Days
对应于你上周二过去了多少天。
SameDays
对应你今天是哪一天。
另请参阅 std
与 std::chrono::duration
, which is a count of time, and a std::chrono::time_point
之间的区别,std::chrono::duration
, which is a count of time, and a std::chrono::time_point
是自特定日期 以来的时间计数 。
我正在写一个简单的程序,你给它一些天数,它返回与你给的天数相等的年数、周数和天数。 但我注意到即使在我检查数学时你也可以得到两个不同的答案,这在两种情况下都是有意义的。 有人可以向我解释为什么答案不同,哪个是正确的
#include<iostream>
using namespace std;
int main()
{
int y;
int d,w;
int Days;
cin>>d;
y=d/365;
int LessThanAYearDays = d%365;
Days=LessThanAYearDays%7;
w=LessThanAYearDays/7;
int SameDays = d%7;
cout<<"answer1 is : "<<y<<" "<<w<<" "<<Days<< "\n";
cout<<"answer2 is : "<<y<<" "<<w<<" "<<SameDays<< "\n";
return 0;
}
一年中没有精确的周数,所以您显示的是不同的东西。他们在能被 7 整除的年份中是相同的。
例如假设给定年份从星期二开始。
Days
对应于你上周二过去了多少天。SameDays
对应你今天是哪一天。
另请参阅 std
与 std::chrono::duration
, which is a count of time, and a std::chrono::time_point
之间的区别,std::chrono::duration
, which is a count of time, and a std::chrono::time_point
是自特定日期 以来的时间计数 。