The problem:
输入:
有多个测试,每个测试一行,每行只有1个数字n(8<=n<=1000)
最后当N为0的时候结束程序
输出:
输出N个数,这n个数不能重复,取值范围在1--n,并且相邻两个数的差值要大于等于3,输入的数据保证这样的
序列存在,你主要输出符合田间的其中一个序列就可以了,一个序列一行。
样例输入:
9
0
样例输出:
1 4 7 2 5 8 3 6 9
The answer:
1.
- #include <iostream>
- using namespace std;
- int main()
- {
- int n;
- while (cin>>n)
- {
- int i, j;
- for ( j = 1; j <= 3; ++j )
- {
- for ( i = j; i <= n; i += 3 )
- cout<<i;
- }
- cout<<endl;
- }
- return 0;
- }
2.
- #include <iostream>
- using namespace std;
- int main()
- {
- int n;
- while (cin>>n)
- {
- int a[1001] = {0}, i, j, k = 1;
- for ( j = 1; !a[j]; ++j )
- {
- for ( i = j; i <= n; i += 3 )
- a[i] = k++;
- }
- for ( i = 1; i <= n; ++i )
- cout<<a[i];
- cout<<endl;
- }
- return 0;
- }