x-y为奇数,x+y为奇数,所以平方差为奇数*奇数为奇数 所以平方差结果只存在于奇数或者被四整除的数; import java.util.Scanner; // //public class Main { //public static void main(String[] args) { // Scanner sc=new Scanner(System.in); // int L=sc.nextInt(); // int R=sc.nextInt();...
2); //上面的公式既是<R的满足条件的个数,和<L-1的数的个数 cout << sum; return 0; }
原题链接:蓝桥杯2023年第十四届省赛真题-平方差 解题思路: 只有当 x 是偶数时(即 x 的最低位是0,或者说 x 是4的倍数),x 才能表示为两个整数的这是因为奇数减去奇数或偶数减去偶数总是得到偶数,而且只有当 x 模4的余数是0或3时,x 才能被表示为两个整数的平方差。 因此,代码中的条件 i % 4 == 0...
原题链接:蓝桥杯2023年第十四届省赛真题-平方差 解题思路: 此题可以用三个for循环直接求解(即蛮力法),但是求出来之后会显示时间超时,看了一下别人的方法,可以直接用公式求解,即:F(x)=x/4 + (x+1)/2 此公式求出来是小于x的满足条件的数的个数,但是这个公式我也不知道是怎么推出来的,而且我觉得这种题...
原题链接:蓝桥杯2023年第十四届省赛真题-平方差 解题思路: 此题可以用三个for循环直接求解(即蛮力法),但是求出来之后会显示时间超时,看了一下别人的方法,可以直接用公式求解,即:F(x)=x/4 + (x+1)/2 此公式求出来是小于x的满足条件的数的个数,但是这个公式我也不知道是怎么推出来的,而且我觉得这种题...
原题链接:蓝桥杯2023年第十四届省赛真题-平方差 当所给数的范围极大时,不能盲目循环,尝试找规律破解有平方差的数要么是奇数,要么是4的倍数 #include<iostream> using namespace std; int F(int x) {//x/4表示1到r上4 的倍数,(x+1)/2表示1到r上的奇数个数 return x/4 + (x+1)/2; } int ...
原题链接:蓝桥杯2023年第十四届省赛真题-平方差 解题思路: 只有当 x 是偶数时(即 x 的最低位是0,或者说 x 是4的倍数),x 才能表示为两个整数的这是因为奇数减去奇数或偶数减去偶数总是得到偶数,而且只有当 x 模4的余数是0或3时,x 才能被表示为两个整数的平方差。 因此,代码中的条件 i % 4 == 0...
原题链接:蓝桥杯2023年第十四届省赛真题-平方差 0.0分 0 人评分 收藏 看不懂代码解释一下代码? 或者生成一段代码?试试AI编程助手吧 评论区 « » 提交 精彩推荐 简单的a+b (C语言代码)浏览:670 【绝对值排序】 (C++代码)浏览:712 最小公倍数 (C语言代码)浏览:887 printf基础练习2 (C语言...
x-y为奇数,x+y为奇数,所以平方差为奇数*奇数为奇数 所以平方差结果只存在于奇数或者被四整除的数; import java.util.Scanner; // //public class Main { //public static void main(String[] args) { // Scanner sc=new Scanner(System.in); // int L=sc.nextInt(); // int R=sc.nextInt();...