小P的故事——神奇的换零钱
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
已知A国经济很落后,他们只有1、2、3元三种面值的硬币,有一天小P要去A国旅行,想换一些零钱,小P很想知道将钱N兑换成硬币有很多种兑法,但是可惜的是他的数学竟然是体育老师教的,所以他不会啊、、、他只好求助于你,你可以帮他解决吗?
提示:输入数据大于32000组。
提示:输入数据大于32000组。
输入
每行只有一个正整数N,N小于32768。
输出
对应每个输入,输出兑换方法数。
示例输入
100 1500
示例输出
884 188251
提示
提交了n次不对,木然回首少了等号
#include<stdio.h>
int main()
{
long long s,i,n;
while(scanf("%lld",&n)!=EOF)
{
s=0;
s=n/3+1;
for(i=0;i<=n/3;i++)
s+=(n-i*3)/2;
printf("%lld\n",s);
}
}
刚突然想起了约瑟夫,算是看这篇文章的福利吧:
#include <stdio.h>
int main()
{
int n, m, i, s = 0;
printf ("N M = ");
scanf("%d%d", &n, &m);
for (i = 2; i <= n; i++)
{
s = (s + m) % i;
}
printf ("\nThe winner is %d\n", s+1);
}
#include<stdio.h>
int main()
{
long long s,i,n;
while(scanf("%lld",&n)!=EOF)
{
s=0;
s=n/3+1;
for(i=0;i<=n/3;i++)
s+=(n-i*3)/2;
printf("%lld\n",s);
}
}
刚突然想起了约瑟夫,算是看这篇文章的福利吧:
#include <stdio.h>
int main()
{
int n, m, i, s = 0;
printf ("N M = ");
scanf("%d%d", &n, &m);
for (i = 2; i <= n; i++)
{
s = (s + m) % i;
}
printf ("\nThe winner is %d\n", s+1);
}