Accurately Say "CocaCola"!(找规律+打表)

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2965

View Code
 1 #include<iostream>
 2 using namespace std ;
 3 int main()
 4 {
 5     int a[100] = {0,7,27,70,70,70,70,70,70,70,70,270 } ;
 6     int t, i, p ;
 7     cin>>t ;
 8     for(i=12; i<100; i++)
 9     a[i] = 700 ;
10     while(t--)
11     {
12         cin>>p ;
13         cout<<a[p]<<endl ;
14     }
15     return 0 ;
16 }

寻找满足一下条件之一的数字:

1能够被7整除。

2某一位数是7。

测试数据:

第一行:测试样例的数目N。

剩下N行:每行输入一个数字P,求有P个连续的这样的数字的,最小的 起始满足条件的数字。

思路:打表即可。

           因为p较小,最大才99,又从700-799就可以满足全部条件。可以打表出来,找出每个连续的一段满足要求的数,保存起来即可,由题目知道

p=1,a=7;

p=2,a=27;

p=3、4、5...10,a=70;

p=11,a=270;

p=12...99,a=700;

所以直接保存在数组中,最后输出结果就A了。

posted @ 2013-03-16 20:38  yelan@yelan  阅读(245)  评论(0编辑  收藏  举报