【簡単な問題】(2016)第7回ブルーブリッジ杯省試合C/C++A組問題解(第1題と第2題)

1195 ワード

第一題
タイトル
ネットユーザーの年齢のある君は新しいネットユーザーを知っている.
年齢を聞くと、彼のネットユーザーはこう言いました.
「私の年齢は2桁で、息子より27歳年上です.
私の年齢の2桁の数字を交換すれば、ちょうど息子の年齢です」
計算してください:ネットユーザーの年齢は全部で何種類の可能性がありますか?ヒント:30歳はその中の1つの可能性です.
可能性を示す種数を記入してください.
注意:あなたが提出したのは整数で、余分な内容や説明的な文字を記入しないでください.
考え方は直接暴力の列挙を分析して、現れる可能性のある桁数と10桁でいいです
コード#コード#
#include 
using namespace std;
int main(int argc, char** argv) {
	int m,n;
	int sum=0;
	for(int m=0;m<=9;m++){
		for(int n=0;n<=9;n++){
			if((10*n+m)==(10*m+n-27)&&(10*m+n>10*n+m)){
				sum++;
			}
		}
	} 
	cout<

実行結果
7
第二題
タイトル
バースデーキャンドル某君は、ある年から毎年1回バースデーパーティーを開催しており、その度に年齢と同じ本数のキャンドルを吹き消す.
今から計算すると、彼は全部で236本のろうそくを消した.
すみません、彼は何歳から誕生日パーティーをしましたか?
彼が誕生日パーティーを始めた年齢数を記入してください.
注意:あなたが提出したのは整数で、余分な内容や説明的な文字を記入しないでください.
考え方分析直接暴力列挙、出現する可能性のある開始年齢と終了年齢でよい
コード#コード#
#include 
using namespace std;
int main(int argc, char** argv) {
	int sum=0;
	for(int i=1;i<=100;i++){
		for(int j=1;j<=100;j++){
			 sum=(i+j)*(j-i+1)/2;
			 if(sum==236){
			 	cout<

運転結果26 33