闵行网站推广,wordpress 广告位小工具,有源码后怎么做网站,wordpress多站点 用户同步1.握手问题#xff1a; 思路#xff1a;首先当所有人都握过手#xff0c;由于一次握手相当于两个人都握手过#xff0c;所以容易发现这是一个组合问题#xff0c;为#xff08;50*49#xff09;/2#xff0c;而其中有7个人没有相互握过手#xff0c;那么减去#xff…1.握手问题 思路首先当所有人都握过手由于一次握手相当于两个人都握手过所以容易发现这是一个组合问题为50*49/2而其中有7个人没有相互握过手那么减去7*6/2结果为1204.
2.小球反弹 思路如果直接按照题意画路径会发现很复杂也比较难直接找到打到角落的条件这时候可以想到化曲为直复杂问题简单化在初中的时候学过光的反射也画过镜子的光路图按镜面对称不会改变光的路程这里也是一样的把左面扩展开来最终当dx和dy分别是343720和233333的倍数即可。
细节
1) 如何对浮点数四舍五入至保留两位小数直接看很难找到相应的函数但是我们可以想到round 它的功能是找到一个与浮点数最近的整数比如2.77离3近则为32.11离 2近则为2。如果我们将一个数先乘100用round操作之后再除以100岂不是可以达到四舍五入保留两位小数的效果了
2) 还有sum最后再用勾股定理算比较合适因为要算斜边又一直直角边比例是要用到开方的而sqrt只能用于double型数据 而验证是否符合条件时又要用到%会冲突。 cout 会以科学计数法输出浮点数而fixed会强制输出小数格式。 std::setprecision(n) 它会设置小数点后保留的位数。 如果n小于浮点数的实际小数位数多余的位数会被截断不会四舍五入。 如果n大于浮点数的实际小数位数多余的位数会显示为0。
#include bits/stdc.h
using namespace std;int main() {long long t 1, x 343720, y 233333;// 找到满足条件的最小 twhile (1) {if ((15 * t) % x 0 (17 * t) % y 0)break;t;}// 计算路径长度double path_length 2 * sqrt(15 * 15 * t * t 17 * 17 * t * t);// 四舍五入到两位小数double ans round(path_length * 100) / 100;// 输出结果cout fixed setprecision(2) ans endl;return 0;
}