GCD XOR UVA
来源:互联网 发布:七天网络app在哪下载 编辑:程序博客网 时间:2024/06/06 19:52
Think:
1埃式筛法思想建立约数表
2初始打表寻找运算的数学规律
3xor运算(不带进位的二进制加法)
运算法则
1. a ⊕ a = 02. a ⊕ b = b ⊕ a3. a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c;4. d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b ⊕ c.((a^b) == c <=> a(a^c) == b)5. a ⊕ b ⊕ a = b.6.若x是二进制数0101,y是二进制数1011;则x⊕y=1110只有在两个比较的位不同时其结果是1,否则结果为0即“两个输入相同时为0,不同则为1”!
xor运算——百度百科链接
vjudge题目链接
以下为Accepted代码
/*1打表发现数学规律gcd(a, b) == (a^b) => (a-b) == (a^b)2筛法思想建立约数表3xor运算:(a^b) = c <=> (a^c) = b;*/#include <cstdio>#include <cstring>using namespace std;int v[30000004] = {0};int main(){ int a, b, c; ///筛法思想建立约数表 for(c = 1; c <= 15000000; c++){ for(a = c + c; a <= 30000000; a += c){ b = a - c; if(c == (a^b)) v[a]++; } } ///now:v[a]:(a, xi); for(int i = 2; i <= 30000000; i++){ v[i] += v[i-1]; } ///now:v[a]:(ai, xi); int T, k, n; scanf("%d", &T); for(k = 1; k <= T; k++){ scanf("%d", &n); printf("Case %d: %d\n", k, v[n]); } return 0;}
阅读全文
1 0
- UVA 12716 - GCD XOR
- uva 12716 - GCD XOR
- 【UVA】12716-GCD XOR
- UVA-12716 - GCD XOR
- UVA 12716 GCD XOR
- UVa 12716 - GCD XOR
- UVA 12716 GCD XOR
- UVA 12716 GCD XOR
- Uva 12716 GCD XOR
- uva 12716 GCD XOR
- UVa 12716 GCD XOR
- UVa 12716 GCD XOR
- GCD XOR UVA
- GCD XOR UVA
- GCD XOR UVA
- GCD XOR UVA
- uva 12716 GCD XOR
- GCD XOR UVA
- RSA非对称加密工具JAVA实现
- 浅谈信号量
- TF/04_Support_Vector_Machines/06_Implementing_Multiclass_SVMs
- 一周入门Kotlin(二)
- 内存操作类(共享映射文件 MemoryMappedFile)
- GCD XOR UVA
- 跟着笨叔叔一起省电
- Java基础知识总结
- Echarts柱状图formatter函数的使用和页面显示的bug解决
- 极具个性化的【自定义日历】(预热篇)—超详细,记录你的学习计划与完成情况
- VR教育进入新加坡课堂
- 安卓之旅第十一站--简易新闻客户端
- Android环境杂记
- C#多线程技术