Find a multiple
来源:互联网 发布:qq号码定位软件 编辑:程序博客网 时间:2024/06/15 03:04
Description
Input
Output
If there are more than one set of numbers with required properties you should print to the output only one (preferably your favorite) of them.
Sample Input
512341
Sample Output
2
2
3
#include<stdio.h>
int main()
{
int m,n,i,j,k,s[100000],d[100000],sum,e;
while(scanf("%d",&n)!=EOF)
{
sum=0;d[1]=0;
for(i=1;i<=n;i++)
scanf("%d",&s[i]);
for(i=1;i<=n;i++)
{
e=0;
sum+=s[i];
k=sum%n;
if(k==0)
{
printf("%d\n",i);
for(j=1;j<=i;j++)
{
printf("%d\n",s[j]);
e=1;
}
}
else
{
for(m=1;m<i;m++)
{
if(k==d[m])
{
printf("%d\n",i-m);
for(j=m+1;j<=i;j++)
printf("%d\n",s[j]);
e=1;
break;
}
}
if(e) break;
else d[m]=k;
}
if(e) break;
}
}
return 0;
}
利用抽屉原理(鸽巢原理),当前n项和对所给数求余为0时,说明能整除,此时前n项和为所给数的整倍数,如果不等0,则后一个余数与前面余数有相同时,就从这一位开始,到前面相同余数的后一位之和为所给数的整倍数。
类比poj3370题
- Find a multiple
- Find a multiple
- Find a multiple
- Find a multiple POJ
- Find a multiple (POJ
- Find a multiple POJ
- ural 1032 Find a Multiple
- poj 2365 Find a multiple
- POJ 2356 Find a multiple
- POJ,2356,Find a multiple
- poj 2356 Find a multiple
- poj 2356 Find a multiple
- URAL 1032. Find a Multiple
- PKU 2356 Find a multiple
- poj - 2356 Find a multiple
- Poj 2356Find a multiple
- poj 23565-Find a multiple
- POJ 2356 Find a multiple
- Shell变量功能(2)
- poj 1654 Area
- Relationship between java file name and the declared class name in it
- MFC编译链接正确 但运行不出界面
- override和overload的区别
- Find a multiple
- LeetCode-Climbing Stairs
- [unity 基础教程]给着色器shader添加透明属性
- spoj 379
- C基础:函数
- 手机iphone项-测试崩溃问题总结
- C++中的位拷贝和值拷贝
- FATFS文件系统的中文长文件名配置的几个注意事项
- 模板设计模式