Codeforces 735D Taxes(简单数论)
2024-10-06 11:15:07
题目链接 http://codeforces.com/problemset/problem/735/D
题意:一个人的收入为n他要交的税是n的最大除数,他为了少缴税将n分成k个数n1,n2,n2....nk(k可以为1)所交的税就n1~nk的所有最大约数的和
一道简单的数论题,首先当n为质数是不用分税为1最小,当n为合数是,n为偶数是根据哥德巴赫猜想任意大于2的偶数可以拆成两个质数的和所以最小为
2,n为奇数时由于奇数只能由偶数和奇数组成所以奇数如果拆掉一个2(最小的偶数)剩下的是质数那么n的税就为2,如果不是那么就小就为3.
#include <iostream>
#include <cstring>
#include <cmath>
using namespace std; int main() {
int n;
cin >> n;
int flag = 0;
for(int i = 2 ; i <= sqrt(n) ; i++) {
if(n % i == 0) {
flag = 1;
break;
}
}
if(flag == 0) {
cout << 1 << endl;
}
else {
if(n % 2 == 0) {
cout << 2 << endl;
}
else {
int gg = n - 2;
int temp = 0;
for(int i = 2 ; i <= sqrt(gg) ; i++) {
if(gg % i == 0) {
temp = 1;
break;
}
}
if(temp)
cout << 3 << endl;
else
cout << 2 << endl;
}
}
return 0;
}
最新文章
- TCP连接的建立和终止
- 使用C#给Linux写Shell脚本(下篇)
- eclipse安装svn进行版本控制
- 支付宝App支付签名和验签
- WPF 窗口自适应
- Ext.MessageBox消息框
- HDU 3461 Code Lock(并查集)
- 【QT】ui转代码
- 【转】GitHub删除一个仓库&mdash;&mdash;2013-08-27 21
- 数学 ZJOI 2012 数列
- POJ 1113 Wall 求凸包的两种方法
- Teach Yourself Scheme in Fixnum Days 13 Jump跳转
- 哈尔滨理工大学第六届程序设计团队 I-Team
- windows下wamp多域名的配置
- scrollify - 滚动条方式的全屏滚动
- 04_VMware虚拟机网络配置
- MongoDB系列四(索引).
- Spring Cloud分布式微服务云架构集成项目
- Mycat实现Mysql主从读写分离
- 如何利用iconfont图标代替小图片