codeforces 735D Taxes(数论)
Maximal GCD
题目链接:http://codeforces.com/problemset/problem/735/D
——每天在线,欢迎留言谈论。
题目大意:
给你一个n(2≤n≤2e9) 代表一个人的收入。
他需要交税,规则:交税金额为n的最大公约数(本身不算)
他想通过把钱分成几份,然后分别交税,达到交税最少。
知识点:
哥德巴赫猜想:①如果一个数为偶数,那么可以拆成两个质数相加
②如果一个奇数 (n-2)为质数那么他也可以拆成两个质数相加(2+(n-2))
③其他的奇数 可以拆成一个 质素+一个偶数 也就是 3个质数相加
思路:
知道这个数论知识就很好做了。
AC代码:
#include <iostream>
#include <cmath>
using namespace std;
typedef long long ll;
bool iszs(ll n)
{
ll b=sqrt(n);
for(int i=;i<=b;i++)
{
if(n%i==)
return false;
}
return true;
}
int main()
{
ll n;
cin>>n;
if(iszs(n))
{
cout<<""<<endl;return ;
}
if(n&)
{
if(iszs(n-))
{
cout<<""<<endl;return ;
}
cout<<""<<endl;return ;
}
else
cout<<""<<endl;
return ;
}
2017-05-28 16:45:27
codeforces 735D Taxes(数论)的更多相关文章
- Codeforces 735D Taxes(简单数论)
题目链接 http://codeforces.com/problemset/problem/735/D 题意:一个人的收入为n他要交的税是n的最大除数,他为了少缴税将n分成k个数n1,n2,n2... ...
- CodeForces - 735D Taxes (哥德巴赫猜想)
Taxes time limit per test 2 seconds memory limit per test 256 megabytes input standard input output ...
- CodeForces 735D Taxes
哥德巴赫猜想. 如果$n$是素数,答案为$1$. 如果$n$不是素数,但$n$是偶数,由哥德巴赫猜想可知答案为$2$. 如果$n$不是素数,且$n$为奇数,此时可以将$n$拆成$3+$偶数或者$2+$ ...
- Codeforces 735D:Taxes(哥德巴赫猜想)
http://codeforces.com/problemset/problem/735/D 题意:给出一个n,这个n可以分解成 n = n1 + n2 + -- + nk,其中k可以取任意数.要使得 ...
- Codefroces 735D Taxes(哥德巴赫猜想)
题目链接:http://codeforces.com/problemset/problem/735/D 题目大意:给一个n,n可以被分解成n1+n2+n3+....nk(1=<k<=n). ...
- Codeforces 1106F(数论)
要点 998244353的原根g = 3,意味着对于任意\[1 <= x,y<p\]\[x\neq\ y\]\[g^x\%p\neq\ g^y\%p\]因此可以有构造序列\(q(a)与a一 ...
- Codeforces 858A. k-rounding 数论
题目: 题意:输入n和k,找到一个最小的数,满足末尾有至少k个0和是n的倍数. 最小的情况 ans = n,最大的情况 ans = n*pow(10,k). 令 k = pow(10,k); 我们发现 ...
- Maximal GCD CodeForces - 803C (数论+思维优化)
C. Maximal GCD time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- Divisible by Seven CodeForces - 376C (数论)
You have number a, whose decimal representation quite luckily contains digits 1, 6, 8, 9. Rearrange ...
随机推荐
- Jenkins 忘记admin密码拯救方法
突然有一日发现自己忘记了jenkins的管理员密码,因为我一直登录的是另外一个非管理员账户.如果出现必须要使用管理员账户操作的,比如用户管理那里的,必须要管理员账号吧,这就尴尬了. 很方的我打开安装j ...
- hibernate框架(3)---持久化对象
持久化对象 再讲持久化对象之前,我们先来理解有关session中get方法与 load方法区别: 简单总结: (1)如果你使用load方法,hibernate认为该id对应的对象(数据库记录)在数据库 ...
- mysql 开发基础系列5 运算符
1. 算术运算符 2.比较运算符 注意NULL值不能用= 运算符 SELECT * FROM t WHERE c =NULL; -- 需要改成 SELECT * FROM t WHERE c IS N ...
- Java单元测试(Junit+Mock+代码覆盖率)
微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...
- 浅谈Unity3D 骨骼动画
转载请标明出处http://www.cnblogs.com/zblade/ 最近研究了一下游戏中模型的骨骼动画的原理,做一个学习笔记,便于大家共同学习探讨. ps:最近改bug改的要死要活,博客写的吭 ...
- jvm详情——3、JVM基本垃圾回收算法回收策略
JVM基本垃圾回收算法回收策略 引用计数(Reference Counting):比较古老的回收算法.原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数.垃圾回收时,只用收集计数为0的 ...
- Ajax 上传input type file 文件
Html: <div class="attach-img"> <label><input type="file" id=" ...
- ES6躬行记(3)——解构
解构(destructuring)是一种赋值语法,可从数组中提取元素或从对象中提取属性,将其值赋给对应的变量或另一个对象的属性.解构地目的是简化提取数据的过程,增强代码的可读性.有两种解构语法,分别是 ...
- DocumentFragment对象
一般动态创建html元素都是创建好了直接appendChild()上去,但是如果要添加大量的元素还用这个方法的话就会导致大量的重绘以及回流,所以需要一个'缓存区'来保存创建的节点,然后再一次性添加到父 ...
- 翻译:如何向MariaDB中快速插入数据(已提交到MariaDB官方手册)
本文为mariadb官方手册:How to Quickly Insert Data Into MariaDB的译文. 原文:https://mariadb.com/kb/en/how-to-quick ...