CodeForces 584D Dima and Lisa
2016-01-17 15:05
549 查看
D. Dima and Lisa
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Dima loves representing an odd number as the sum of multiple primes, and Lisa loves it when there are at most three primes. Help them to represent the given number as the sum of at most than three primes.
More formally, you are given an odd numer n. Find a set of numbers pi (1 ≤ i ≤ k),
such that
1 ≤ k ≤ 3
pi is
a prime
The numbers pi do
not necessarily have to be distinct. It is guaranteed that at least one possible solution exists.
Input
The single line contains an odd number n (3 ≤ n < 109).
Output
In the first line print k (1 ≤ k ≤ 3),
showing how many numbers are in the representation you found.
In the second line print numbers pi in
any order. If there are multiple possible solutions, you can print any of them.
Sample test(s)
input
output
Note
A prime is an integer strictly larger than one that is divisible only by one and by itself.
直接暴力
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Dima loves representing an odd number as the sum of multiple primes, and Lisa loves it when there are at most three primes. Help them to represent the given number as the sum of at most than three primes.
More formally, you are given an odd numer n. Find a set of numbers pi (1 ≤ i ≤ k),
such that
1 ≤ k ≤ 3
pi is
a prime
The numbers pi do
not necessarily have to be distinct. It is guaranteed that at least one possible solution exists.
Input
The single line contains an odd number n (3 ≤ n < 109).
Output
In the first line print k (1 ≤ k ≤ 3),
showing how many numbers are in the representation you found.
In the second line print numbers pi in
any order. If there are multiple possible solutions, you can print any of them.
Sample test(s)
input
27
output
3 5 11 11
Note
A prime is an integer strictly larger than one that is divisible only by one and by itself.
直接暴力
#include <stdio.h> #include <math.h> bool isPrime(int num) { bool ret=true; for(int i=2;i<=sqrt(num);i++) if(num%i==0) ret=false; return ret; } int main() { int n; scanf("%d",&n); if(isPrime(n)) printf("1\n%d\n",n); else if(isPrime(n-2)) printf("2\n2 %d\n",n-2); else if(isPrime(n-4)) printf("3\n2 2 %d\n",n-4); else { for(int first=3;first<=n;first+=2) { if(isPrime(first)) { int ret=n-first; for(int second=3;second<ret;second+=2) { int third=ret-second; if(isPrime(second)&&isPrime(third)) { printf("3\n%d %d %d\n",first,second,third); return 0; } } } } } return 0; }
相关文章推荐
- JavaWeb_SpringMVC和titles的简单整合
- Mac OS下安装配置Scala
- Eclipse下Preferences解析
- sql语句中case-when用法
- zookeeper原理(转)
- 2016.01.17—-即便没有读者,你也要写博客
- 对《Netty权威指南》中的Http+xml协议栈开发的个人再整理
- 请教一个pip install 出现报asciii码错误的问题
- 【WC2002】奶牛浴场
- Android中下拉刷新和加载更多的实现方式
- hadoop基础:第三部分 分布式文件系统
- UVA 18451 阅读题
- HDU4452Running Rabbits(模拟)
- ejb injection
- 注册时手机验证用户
- Python+django实现文件下载
- VS添加环境变量和自定义宏
- PASSION之XML详解
- [从头学数学] 第50节 复式统计表
- CSS 布局模型