【題目一】把一元鈔票換成一分、二分、五分硬幣(每種至少一枚),有哪些種換法?
#include <stdio.h>
void main()
{
int i,j,k,num=0;
for(i=1;i<=19;i++)
for(j=1;j<=47;j++)
{
k=100-5*i-2*j;
if(k>0)
num++;
}
printf("%d\n",num);
}
【題目二】將1,2...9共9個數分成三組,分別組成三個三位數,且使這三個三位數構成1:2:3的比例,試求出所有滿足條件的三個三位數.
#include <stdio.h>
void main()
{
int i,j,k,l,m,n=1,a[10]={0},x;
for(i=1;i<=3;i++)
for(j=1;j<=9;j++)
{
if(j!=i)
for(k=1;k<=9;k++)
{
if(k!=i&&k!=j)
{
x=100*i+10*j+k;
for(l=1;l<=3;l++)
{
a[(l*x)%10]++;
a[(l*x)/10%10]++;
a[(l*x)/100]++;
}
for(m=1;m<=9;m++)
{
if(a[m]!=1)
n=0;
}
if(n)
printf("%5d%5d%5d\n",x,2*x,3*x);
for(n=1;n<=9;n++)
a[n]=0;
n=1;
}
}
}
}
【題目三】:窮舉法中窮舉方案的選擇:
陳婷有一個E-MAIL郵箱的密碼是一個5位數。但因爲有一段比較長的日子沒有打開這個郵箱了,陳婷把這個密碼給忘了。不過陳婷自己是8月1日出生,而她媽媽的生日則是9月1日,她特別喜歡把同時是8l和9l的倍數用作密碼。陳婷還記得這個密碼的中間一位(百位數)是l。你能設計一個程序幫她找回這個密碼嗎?
#include <stdio.h>
#define N 81
#define M 91
int a(int x,int y)
{
int temp;
if(y>x)
{
temp=x;
x=y;
y=temp;
}
temp=x%y;
if(temp==0)
return y;
else
a(y,temp);
}
void main()
{
int i,x,y;
x=N*M/a(N,M);
y=x;
for(i=1;y<100000;i++)
{
y=x*i;
if(y>=10000)
{
if(y/100%10==1&&y<=99999)
printf("%6d\n",y);
}
}
}