2018/11/30

150 阅读1分钟

1.

#include <iostream>
using namespace std;
#define MOD 10007
#define MAX 1000001
int F[MAX];
int main()
{
	int i, n;
	cin >> n;
	F[1] = 1;
	F[2] = 1;
	for (i = 3; i <= n; i++)
		F[i] = (F[i - 1] + F[i - 2]) % MOD;
	cout << F[n];
	return 0;
}

蓝桥杯训练的一道题,如果不用#define 而是将MOD MAX 的数值直接写进main里会运行失败,用#define 则可以达成目的,why?

2.

对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。请按从小到大的顺序输出这32种01串。(五种方式)


#include <iostream>
using namespace std;
int main()
{
  int a,b,c,d,e;
  for(a=0;a<2;++a)
    for(b=0;b<2;++b)
      for(c=0;c<2;++c)
        for(d=0;d<2;++d)
          for(e=0;e<2;++e)
            cout<<a<<b<<c<<d<<e<<endl;
  return 0;
}

同样是蓝桥杯训练的一道题,锦囊提示用五层循环,即以上方法,其他方式见链接 blog.csdn.net/u012110719/…