Java & Pascal & C++——容斥原理例题——切蛋糕
来源:互联网 发布:用homebrew安装mysql 编辑:程序博客网 时间:2024/06/05 10:51
切蛋糕
【问题描述】
BG 有一块细长的蛋糕,长度为?。
有一些人要来BG 家里吃蛋糕,BG 把蛋糕切成了若干块(整数长度),然后分给这些人。
为了公平,每个人得到的蛋糕长度和必须相等,且必须是连续的一段。
但是,BG 并不知道要有多少人来。他只知道,来的人数为?的约数,且小于?。
显然把蛋糕平均分成?块一定能满足要求。但是,BG 想要分出的块数尽量少。现在BG
想知道,他要把蛋糕分成至少多少块,才能使得不管多少人来都能满足要求。
【输入】
输入文件名为cake.in。
输入共一个整数?,表示蛋糕的长度。
【输出】
输出文件名为cake.out。
输出共一个整数,表示分出的最少块数。
【输入输出样例1】
cake.in cake.out
6 4
【输入输出样例说明】
4 块长度分别为2、1、1、2。
【输入输出样例2】
cake.in cake.out
15 7
【输入输出样例说明】
7 块长度分别为3、2、1、3、1、2、3。
【数据说明】
对于30%的数据,2≤n≤15;
对于50%的数据,2≤n≤1,000;
对于70%的数据,2≤n≤1,000,000;
对于100%的数据,2≤n≤1,000,000,000。
varn,m,c,r,i : longint;begin read (n); m:=n; c:=n; r:=trunc ( sqrt (n) ); for i:=2 to r do if n mod i = 0 then begin m:= (m div i) * (i-1); while n mod i =0 do n:=n div i; end; if n>1 then m:= (m div n) * (n-1); write (c-m);end.
import java.util.*;public class Main{public static void main(String[] args){ int n,m,c; m=0; c=0; Scanner input = new Scanner(System.in); n=input.nextInt();m=c=n;for(int i=2;i*i<=n;i++)if(n%i==0){m=m/i*(i-1);while(n%i==0) n=n/i;}if(n>1) m=m/n*(n-1); System.out.println(c-m);}}
#include<iostream>#include<stdio.h>#include<math.h>int main(){int n,m,r,c;scanf("%d",&n);m=c=n;r=sqrt(n)+1;for(int i=2;i<=r;++i)if(!(n%i)){m=m/i*(i-1);while(!(n%i)) n/=i;}if(n>1) m=m/n*(n-1);printf("%d\n",c-m);return 0;}
阅读全文
0 0
- Java & Pascal & C++——容斥原理例题——切蛋糕
- vijos1020—切蛋糕
- Uva11806——容斥原理
- 菜鸟系列——容斥原理
- 容斥原理 —— nyoj 1160
- Co-prime——容斥原理
- 容斥原理——Uva11806-Cheerleaders
- 容斥原理基本概念与例题
- 容斥原理(模板+例题)
- C++&Pascal——用DEV C++/free pascal制作dll,并用C++/Pascal调用
- 智力题——2.切蛋糕
- 动态规划——切蛋糕
- 例题2.2—例题2.4
- 例题2.5—例题2.7
- 惑——Pascal 和 C
- 操作系统原理——互斥同步
- 操作系统原理——互斥同步
- OUC——1579(容斥原理)
- Can not perform this action after onSaveInstanceState异常源码分析
- Amazon Athena 性能调整
- BZOJ 1663: [Usaco2006 Open]赶集 floyd(划掉+dp
- Spring MVC数据转换、格式化、校验、文件上传和下载
- 测试
- Java & Pascal & C++——容斥原理例题——切蛋糕
- 如何防止Edit框中的Password不被非法获取
- Linux小知识
- [spring cloud学习5]使用docker发布spring cloud应用
- My97DatePicker(WdatePicker)日期控件用法
- 图像识别 python+opencv的简单人脸识别
- 21.合并两个有序表
- movingBall
- C语言工程实践-简单文本编辑器