[7.10] 纪中C组
来源:互联网 发布:手机如何设置网络共享 编辑:程序博客网 时间:2024/06/04 19:34
第一题
题目说的很[哔——],然而不顶什么用
说是用最少的二进制数(0,1,10之类的整数)覆盖完整数,然而想一想就可以知道,若采用最优策略,那么最少只需要整数中某一位最大的数的次数就行啦
#include <iostream>#include <cstdio>using namespace std;int k,n,i,j,m;int main(){ freopen("a.in","r",stdin); freopen("a.out","w",stdout); scanf("%d",&k); for (i=1;i<=k;i++) { m=0; scanf("%d",&n); for (j=1;j<=7;j++) { m=max(m,n%10); n/=10; } printf("%d\n",m); }}
第二题
KC会先给定一个数字Q,每次操作玩家必须写出当前数字的一个因数来代替当前数字,但是这个因数不能是1和它本身。现在规定第一个没有数字可以写出的玩家为胜者。
简单来说就是谁搞到质数谁就赢了
然后分类讨论
1、给的数字就是质数的时候
2、给的数字只有质因数的时候
3、正常情况
然后我们第一步就是码头文件码一波分解因数,每得到一个因数,就把q除到不能再除为止
然后就是自然分类讨论啦
这[哔——]应该不用我说了吧
#include <iostream>#include <cstdio>#include <cmath>using namespace std;long long x,q,k,i;int main(){ freopen("num.in","r",stdin); freopen("num.out","w",stdout); scanf("%lld",&q); k=q; for (i=2;i<=trunc(sqrt(q));i++) while (q%i==0) { x++; q/=i; } if ((float)trunc(sqrt(q))==(float)sqrt(q)) x++; q=k; if (x==0) { printf("1\n0"); return 0; } else if (x==1) { printf("2"); return 0; } else { x=1; for (i=2;i<=trunc(sqrt((float)q));i++) while (q%i==0) { q/=i; x*=i; if (x!=i) { printf("1\n%lld",x); return 0; } } }}
阅读全文
1 0
- [7.10] 纪中C组
- [7.6]纪中C组
- [7.8] 纪中C组
- [7.7] 纪中C组
- [7.9] 纪中C组
- [7.11] 纪中C组
- 2015年蓝桥杯C组C/C++题目:格子中输出
- c/c++中extern "C"
- C++/C中指针详解
- [c]c中c串和字符串
- C中如何调用C++?C++中如何调用C?
- C中如何调用C++?C++中如何调用C
- c#textBox中换行
- C#中使用HashTable
- C中一些基本概念
- C++中extern “C”
- C中volatile关键字
- c中static用法
- JS 设计模式之单例模式
- 简单的javascript案例--在本页内切换显示内容
- Q127:PBRT-V3,理解“体渲染”积分器的关键竟然是这张图
- linux之iptables基础知识
- ogs节点的增加,删除,隐藏和开关
- [7.10] 纪中C组
- MooFest
- 【教程】教你找到免费的Google Translate API(谷歌翻译接口)+C#版的Google翻译函数
- 当对端IP可达但没有监听对应的端口时候, 对端会发出RST报文
- 京东2017幸运数
- 简单类(多对多练习)
- 文章标题
- UVA
- mysql常用基本命令的使用