码迷,mamicode.com
首页 > 其他好文 > 详细

ZOJ水题专业户 ==|| (1)

时间:2015-01-20 08:58:59      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

ZOJ水题专业户 ==|| (1)


1001 1037 1045 1048 1049 1067 1113 1115 1151 1073


//1073

这题  某参考说    只要让这串数字乘以这串数字的长度加1的数,得到的全为9时,则输出cyclic,否则not cyclic,想了很久还是 想不出来 这是 为什么。。如果自己做的话,要用字符串来,很麻烦的样子  。这里就copy 下那代码吧(c 的)

技术分享
 1 #include<stdio.h>
 2 
 3 #include<string.h>
 4 
 5 int main()
 6 
 7 {
 8 
 9 int i,k,m,temp;
10 
11 int result[62];
12 
13 char a[62];
14 
15  
16 
17 while(scanf("%s",a)!=EOF)
18 
19 {
20 
21 k=strlen(a);
22 
23 m=0;
24 
25 result[k]=0;
26 
27 for(i=k-1;i>=0;i--)   
28 
29 //关键是得出输入的数字串乘以(k+1)时,所得结果全为9时,输出cyclic
30 
31 {
32 
33 temp=(k+1)*(a[i]-0)+result[i+1];  //加上result[i+1]中原有的数字及十位数
34 
35 result[i]=temp/10;   //得到十位数
36 
37 if(temp%10!=9)     
38 
39 {
40 
41 m=1;
42 
43 break;
44 
45 }
46 
47 }
48 
49 if(m)
50 
51 printf("%s is not cyclic\n",a);
52 
53 else
54 
55 printf("%s is cyclic\n",a);
56 
57 }
58 
59 return 0;
60 
61 } 
View Code

 












//1151
技术分享
 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4  
 5 int main()
 6 {
 7 /*string s;
 8 char a;
 9 cin>>s;
10 a=cin.get();
11 if(a==‘ ‘)
12 cout<<123;
13 */
14  
15 string s;
16  
17  
18  
19 int n;//n个blocks,一个block 包括   每个block输入的m 和 m次转换
20 cin>>n;
21  
22 //cout<<endl; 这个空行不是程序里设计的,而是自己输入即可==|| 加了会出现PE,小纠结
23 while(n>0)
24 {  
25    int m;
26 string s;
27 cin>>m;
28 while(m>0)
29 {
30 char a;
31 cin>>s;
32 a=cin.get();//获取s后的字节 ‘ ’或者‘\n’
33 int l=s.length();
34 for(int i=s.length()-1;i>=0;i--)
35 {
36    cout<<s[i];
37 }
38 if(a== )
39 cout<<" ";
40 else
41 {
42 cout<<endl;
43 m--;
44     }
45 }
46  
47  n--;
48  if(n>0)
49  cout<<endl;//There is a blank line between output blocks.
50 } 
51  
52 return 0;
53 }
View Code

 















//1115
技术分享
 1 #include <iostream>
 2 #include <string>
 3 #include <sstream>//用于 int 转 string 
 4  
 5  
 6 using namespace std;
 7  
 8 int sum=0;
 9  
10 int getRoot(string s)
11 {
12  
13 while(true)
14 {  
15 sum=0;//sum循环要变为初值0
16 for(int i=0;i<=s.length()-1;i++)//记得 去长度是.length()...有括号!!
17    
18    sum+=s[i]-0;//ASC码中 0、1、2...编号是连续的,所以字符-‘0’正好是这个int值
19              //很经典的 string 转为 int 的 方法
20 stringstream ss;  //定义 stringstream ss
21    ss<<sum;  //    ss<< int类型
22     ss>>s;     //   ss>>string 类型    int 转为 string的 方法
23  
24  
25 if(sum<10)
26 break;
27     
28 }
29 return  sum;
30 }
31  
32 int main()
33 {
34    string a;
35    
36    while(true)
37    {  cin>>a;
38   
39      if (a[0]==0&&a.length()==1)
40        break;
41 else 
42   cout<<getRoot(a)<<endl;
43    
44    }
45 }
View Code

 










//1113
技术分享
 1 #include <iostream>
 2 #include <iomanip>
 3 using namespace std;
 4 int main()
 5 {
 6 cout<<"n e"<<endl;
 7 cout<<"- -----------"<<endl;
 8 double s=1,t=1;
 9  
10   for(int n=0;n<=9;n++)
11   {  
12     if (n==0)
13 cout<<n<<" "<<1<<endl ;
14 else if(n==1)
15  
16 cout<<n<<" "<<2<<endl ;
17 else if(n==2)
18 cout<<n<<" "<<2.5<<endl ;
19 else
20 {
21 for(int i=1;i<=n;i++)
22    {
23        for(int j=1;j<=i;j++)
24          {
25              t=t*j;
26  
27          }
28      s=s+1/t;
29   t=1;//t要变为初值
30     }
31  
32  
33 cout<<n<<" "<<fixed<<setprecision(9)<<s <<endl ;
34 s=1;//s要变为初值
35 }
36   }
37   return 0;
38 }
View Code

 











//1067
技术分享
 1 #include <iostream>
 2 #include <vector>
 3 using namespace std;
 4 typedef struct cl//  typedef struct (定义数据结构,以数组形式保存) cl 数据名 
 5 {
 6     int r,g,b;
 7    
 8 } CL; 
 9  
10  
11 int main()
12 {
13     CL setCl[16];//CL 定义数据cl setCL[] setCl数据数组名,[]设置数组大小
14     
15 int r,g,b;
16 int i=0;
17 while(i<16)
18 {
19   cin>>r>>g>>b;
20  
21 if(r>=0&&r<=255&&g>=0&&g<=255&&b>=0&&b<=255)
22 {
23 setCl[i].r=r;
24 setCl[i].b=b;
25 setCl[i].g=g;
26  
27 i++;
28 }
29 }
30    
31    while(true)
32    { 
33   
34   cin>>r>>g>>b;
35  
36   if (r==-1)
37   break;
38       int D1=(r-setCl[0].r)*(r-setCl[0].r)+(g-setCl[0].g)*(g-setCl[0].g)+(b-setCl[0].b)*(b-setCl[0].b);
39  int n=0;
40       for(i=0;i<16;i++)
41 {
42  
43 int D2=(r-setCl[i].r)*(r-setCl[i].r)+(g-setCl[i].g)*(g-setCl[i].g)+(b-setCl[i].b)*(b-setCl[i].b);
44   
45          if(D2<D1)
46 {
47   D1=D2;
48   n=i;
49 }
50  
51 }
52    
53  cout<<"("<<r<<","<<g<<","<<b<<") maps to ("<<setCl[n].r<<","<<setCl[n].g<<","<<setCl[n].b<<")"<<endl;
54  
55     
56    }
57  
58     return 0;
59 }
View Code

 












//1049
技术分享
 1 #include <iostream>
 2 #include <iomanip>
 3 #include <math.h>//acos
 4  using namespace std;
 5  
 6 int main()
 7 {
 8    int n,z;
 9    float a,b;
10    cin>>n ;
11    for(int i=1;i<=n;i++)
12    {
13       cin>>a>>b;
14  z=int(acos(-1)*(a*a+b*b)/100+1);//acos 取反余弦
15  cout<<"Property "<<i<<": This property will begin eroding in year "<<z<<"."<<endl; 
16    }
17    cout<<"END OF OUTPUT."<<endl;
18 }
View Code

 










//1048
技术分享
 1 #include <iostream>
 2 #include <iomanip>
 3 using namespace std;
 4  
 5 int main()
 6 {
 7 float wage,sum=0;
 8  
 9 for(int i=1;i<=12;i++)
10 {
11 cin>>wage;
12 sum+=wage;
13  
14  
15 }
16  
17 cout<<"$"<<fixed <<setprecision(2) <<sum/12<<endl;
18 return 0;
19 }
View Code

 












//1045
 
技术分享
 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5 int n=0;
 6    float c=1;
 7    double sum;
 8    while(c!=0.00)
 9    {
10       cin>>c;
11   
12   sum=0;//sum的值要在循环里面赋予,因为每次循环sum都要归零
13  if(c>=0.01&&c<=5.20)
14 {for(n=1;c>sum;n++)
15  
16    sum+=1.00/(n+1);
17    
18  
19   
20  cout<<n-1<<" card(s)"<<endl;
21  }
22    }
23    return 0;
24  
25 }
View Code

 











//1037
技术分享
 1 #include <iostream>
 2 #include <iomanip>//用于控制位数  <<fixed<<setprecision(?)<<a
 3 #include <math.h> //引入sqrtf函数
 4 using namespace std;
 5 int main()
 6 {
 7   int num,i,m,n;
 8   float dis;
 9     cin>>num;
10   for(i=1;i<=num;i++)
11    {  
12   cin>>m>>n;
13   
14  cout<<"Scenario #"<<i<<":"<<endl;
15  
16  if(m%2==0 || n%2==0)
17  
18  dis=(float)m*n;
19  
20  
21  else 
22  
23    dis=m*n-1+sqrtf(2);//sqrt 是 double类型 ,sqrtf是 float
24  
25  cout<<fixed<<setprecision(2)<<dis<<endl;//<<fixed<<setprecision(?)<<a    ?为小数点位数,a为数
26 cout<<endl;//记得空行
27       
28   }
29    return 0;
30 }
View Code

 









 //1001
技术分享
 1 #include<iostream> 
 2 using namespace std;
 3 int main() 
 4 {  
 5 int a,b;  
 6 while(cin>>a>>b)       
 7  
 8 cout<<a+b<<endl; 
 9  
10 return 0;
11 } 
View Code

 

ZOJ水题专业户 ==|| (1)

标签:

原文地址:http://www.cnblogs.com/xiaoyesoso/p/4235175.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!