2015年ブルーブリッジカップ省試合B組C/C+:加算変乗算
1892 ワード
かさんへんじょうほう
私たちはすべて知っています:1+2+3+...+49=1225今あなたにその中の2つの隣接しないプラス記号を乗号にするように要求して、結果は2015です
例えば、1+2+3+…+10*11+12+…+27*28+29+…+49=2015が要求に合致する答えです.
別の可能性のある答えを探して、前の乗数の左側の数字を提出してください(例では、10を提出します).
注意:提出するのは整数で、余分な内容を記入しないでください.
考え方:暴力的な解読方法を簡単に考えます.配列を使わなくてもいいので、配列でもっとはっきりしています.
私たちはすべて知っています:1+2+3+...+49=1225今あなたにその中の2つの隣接しないプラス記号を乗号にするように要求して、結果は2015です
例えば、1+2+3+…+10*11+12+…+27*28+29+…+49=2015が要求に合致する答えです.
別の可能性のある答えを探して、前の乗数の左側の数字を提出してください(例では、10を提出します).
注意:提出するのは整数で、余分な内容を記入しないでください.
考え方:暴力的な解読方法を簡単に考えます.配列を使わなくてもいいので、配列でもっとはっきりしています.
#include <stdio.h>
int main()
{
int a[49];
int i;
int j;//
int k;//
int result;
for(i = 0;i < 49;i++)
a[i] = i + 1;
for(j = 0;j < 49;j++)
for(k = 0;k < 49;k++)
{
result = 1225 - a[j] - a[j + 1] - a[k] - a[k + 1] + a[j] * a[j+1] +a[k] * a[k+1];
if(result == 2015 && k - j > 1)
{
printf("k = %d,j = %d
",a[k],a[j]);
}
}
}