1. 程式人生 > >兩道藍橋杯題目

兩道藍橋杯題目

       今天練了兩道藍橋杯的題目,感覺題目也不怎麼難,打算以後每天都做一兩題來練練手。

例題1:
網友年齡
某君新認識一網友。

當問及年齡時,他的網友說:
“我的年齡是個2位數,我比兒子大27歲,
如果把我的年齡的兩位數字交換位置,剛好就是我兒子的年齡”
請你計算:網友的年齡一共有多少種可能情況?

提示:30歲就是其中一種可能哦.

/*********************************************************************
File Name:             
Author:               xxx        date:2016 11 28
Description:             
						網友年齡

						某君新認識一網友。
						當問及年齡時,他的網友說:
						“我的年齡是個2位數,我比兒子大27歲,
						如果把我的年齡的兩位數字交換位置,剛好就是我兒子的年齡”

						請你計算:網友的年齡一共有多少種可能情況?
Fuction List:
********************************************************************/
#include<stdio.h>

int main()
{
	int i;
	int j;
	int g;
	int s;
	int temp;
	int count = 0;
	
	for (i = 10; i < 100; i++)
	{		
		g = i % 10;		
		s = i / 10;
		temp = g * 10 + s;
	
		for (j = 1; j < i; j++)
		{		
			if ((temp == j) && (i - j == 27))
			{
				printf ("i= %d\nj=%d\n",i ,j);
				count++;
			}
		}	
	}
	printf("%d\n",count);
	
	return 0;
}
例題2:生日蠟燭
某君從某年開始每年都舉辦一次生日party,並且每次都要吹熄與年齡相同根數的蠟燭。
現在算起來,他一共吹熄了236根蠟燭。
請問,他從多少歲開始過生日party的?
/*********************************************************************
File Name:               
Author:                  xxx       date:2016 11 28
Description: 			生日蠟燭
						某君從某年開始每年都舉辦一次生日party,並且每次都要吹熄與年齡相同根數的蠟燭。
						現在算起來,他一共吹熄了236根蠟燭。
						請問,他從多少歲開始過生日party的?
Fuction List:
********************************************************************/
/*
i + (i + 1) + (i + 2) +...+(i + n) =236
   (n + 1)*i +n*(n+1)/2 =236
   2*(n+1)*i + n*(n+1) =472
   (2*i+n)*(n+1) = 472
*/
#include<stdio.h>

int main()
{
	int i;
	int n;
	int sum = 236;
	
	for (i = 0; i < 100; i++)
	{
		for (n = 0; n < 100; n++)
		{
			if ((n + 1) * (2 * i + n) == 472)
			{
				printf("%d\n",i);
			}
		}
	}
	
	return 0;
}