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

1216   1240   1241   1251  1331  1337  1350  1382  1712   1730  1760  1763   1797

//1797

 1 #include<iostream>
 2 #include<vector>
 3
 4 #include<stdio.h>//getchar()的文件
 5 using namespace std;
 6 int main()
 7 {
 8 int n,k,a,big;
 9 cin>>n;
10 vector<int> s;
11 for(int i=1;i<=n;i++)
12 {
13 s.clear();//每次循环都要先清空栈。否则,push的位置会在之前一个循环的后面
14    k=0;//归零
15 while(true)
16 {  cin>>a;
17   char t=getchar();
18  s.push_back(a);
19    k++;
20
21  if(t==‘\n‘)
22  break;
23 }
24 for(int i=0;i<k-1;i++)
25 {
26  if(s[i]>s[i+1])
27
28     big=s[i];
29  else
30 big=s[i+1];
31
32 }
33
34 int temp=1;
35 while(true)
36 {
37
38 int bo=1;
39  // cout<<"big "<<big<<endl;
40   for(int i=0;i<k;i++)
41   {
42      if(big%s[i]!=0)
43  bo=0;
44   }
45  // cout<<"bo "<<bo<<endl;
46   if(bo==1)
47   break;
48
49   big=big/temp;//要还原!
50   temp++;
51   big=big*temp;
52 }
53
54 cout<<big<<endl;
55 }
56 return 0;
57
58 }

//1763

 1 #include<iostream>
 2 #include<vector>
 3 #include<iomanip>
 4 using namespace std;
 5 int main()
 6 {
 7     vector<float> s;
 8 int n=0;
 9 while(true)
10    {
11
12       float a;
13  cin>>a;
14  if(a==999)
15  break;
16  else
17  {
18  s.push_back(a);
19  n++;
20  }
21    }
22    for(int i=0;i<=n-2;i++)
23    {
24       float b=s[i+1]-s[i];
25  cout<<fixed <<setprecision (2)<<b<<endl;
26    }
27    cout<<"End of Output"<<endl;
28
29
30 return 0;
31 }

//1760

 1 #include<iostream>
 2 #include<vector>
 3 using namespace std;
 4 int main()
 5 {
 6 while(true)
 7 {
 8        int a;
 9   int m=0,n=0;
10   vector<int> s;
11   cin>>a;
12   if(a==-1)
13   break;
14   else
15   {s.push_back(a);
16       m++;
17     }
18
19
20
21 while(true)
22 {
23
24
25 cin>>a;
26 if(a==0)
27 break;
28 else
29 {s.push_back(a);
30       m++;
31     }
32 }
33 for(int i=0;i<m;i++)
34   {
35   for(int j=i+1;j<m;j++)
36  {
37    if(s[i]==2*s[j]||s[j]==2*s[i])
38 n++;
39  }
40   }
41 cout<<n<<endl;
42
43 }
44 return 0;
45
46 }

//1730

 1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int k,sum;
 6 cin>>k;
 7     for(int i=1;i<=k;i++)
 8 {
 9    int n;
10 cin>>n;
11 if(n%2==0)
12 {
13 sum=0;
14   for(int j=1;j<=n/2-1;j++)
15   {
16      sum=sum+j;
17   }
18   cout<<2*sum<<endl;
19 }
20 else
21 {
22   sum=0;
23   for(int j=1;j<=(n+1)/2-1;j++)
24   {
25      sum=sum+j;
26   }
27   for(int j=1;j<=(n+1)/2-2;j++)
28   {
29      sum=sum+j;
30   }
31   cout<<sum<<endl;
32 }
33 }
34 return 0;
35 }

//1712

 1 #include<iostream>
 2 #include<string>
 3 #include<math.h>
 4 using namespace std;
 5 int main()
 6 {
 7 while(true)
 8 {
 9    string s;
10 cin>>s;
11 if(s[0]==‘0‘&&s.length() ==1)
12 break ;
13
14 int sum=0;
15         for(int i=0;i<s.length() ;i++)
16 {
17    sum+=(s[i]-‘0‘)*(pow(2,s.length()-i )-1) ;
18 }
19
20 cout<<sum<<endl;
21
22 }
23 }

//1382

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5   int k;
 6   cin>>k;
 7   for(int i=1;i<=k;i++)
 8   {
 9      int o1,p=0,tmep=1;
10 long n;
11 cin>>n;
12 o1=1;
13 // if(n==1)
14      //  {cout<<1<<" "<<0<<endl;
15 // break;
16 // }
17 //if(n==2)
18 //{ cout<<1<<" "<<1<<endl;
19   //    break ;
20  //   }
21
22 while(o1<=n)
23 {
24    p=0;
25 tmep=1;
26 while (true)
27  {
28   if(n<=o1*tmep )
29     break;
30        tmep=2*tmep;
31          p++;
32
33 }
34 //cout<<o1<<"  ";
35 if(n==o1*tmep )
36     break;
37 o1=o1+2;
38 }
39
40 if(n==o1*tmep )
41 cout<<o1<<" "<<p<<endl;
42
43   }
44   return 0;
45 }

//1350

 1 #include<iostream>
 2 #include<vector>
 3 using namespace std;
 4 int main()
 5 {
 6 int m,k,l;
 7
 8 cin>>m;
 9 for(int i=1;i<=m;i++)
10 {
11 int n;
12 int num=0;
13 cin>>n;
14 vector<int> c(n);
15 for(int j=0;j<n;j++)
16  c[j]=1;//全上锁
17 for(l=1;l<=n;l++)
18 { k=l-1;//这里的初始位置要注意
19 while(k<n)
20 {
21 if(c[k]==0)
22  c[k]=1;
23   else
24  c[k]=0;
25 k=k+l;
26 }
27 }
28 for(int p=0;p<n;p++)
29 {
30 if(c[p]==0)
31 num++;
32 }
33 cout<<num<<endl;
34 }
35
36 return 0;
37 }

//1337

 1 //have no common factor other than one :
 2 //没有公共元素除了1——没有公约数——互质
 3 #include<iostream>
 4 #include<vector>
 5 #include<math.h>
 6 #include<iomanip>
 7 using namespace std;
 8
 9 int IfNoCommon(int x,int y)
10 {
11 if(x==0)
12 return y; //最后1肯定能被1整除,所以返回的y==1,说明Common只有1,即互质。
13 return IfNoCommon(y%x,x);
14 }
15
16
17 int main()
18 {
19   int n,total;
20
21
22   while(true)
23   {
24
25  int m=0;//m要在这里定义 确保每次循环都初始值为零
26  cin>>n;
27 total =n*(n-1)/2;
28 vector<int> a(n);
29
30 if (n==0)
31 break;
32 for(int i=0;i<n;i++)
33 {
34    int temp;
35 cin>>temp;
36 a[i]=temp;
37
38 }
39 for(int i=0;i<n;i++)
40 {
41
42
43 for(int j=i+1;j<n;j++)
44 {
45 int  b=0;//b要在这里定义 确保每次循环都初始值为零(这个问题经常遇到)
46 int x,y;
47 if(a[i]<=a[j])
48 {
49   x=a[i];
50   y=a[j];
51 }
52 else
53 {
54   y=a[i];
55   x=a[j];
56 }
57 b=IfNoCommon(x,y);
58 //cout<<"b="<<b;
59        if(b==1)
60                 m++;
61
62 }
63 }
64
65 if(m==0)
66 cout<<"No estimate for this data set."<<endl;
67 else
68 {   double Pi;
69     //cout<<m<<endl;
70 // cout<<total<<endl;
71     Pi=sqrt(6/(double)m*(double)total) ;
72     cout<<fixed<<setprecision(6) <<Pi<<endl;
73 }
74 //cout<<endl;
75   }
76   return 0;
77 }

//1331

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5 int a,b,c,d;
 6 for(a=3;a<=200;a++)
 7 {
 8   for(b=2;b<a;b++)
 9      for(c=b;c<a;c++)  //很经典的循环
10          for(d=c;d<a;d++)
11  {
12     if(b*b*b+c*c*c+d*d*d==a*a*a)
13         cout<<"Cube = "<<a<<", Triple = ("<<b<<","<<c<<","<<d<<")"<<endl;
14  }
15
16
17 }
18
19 return 0;
20
21 }

//1251

 1 #include<iostream>
 2 #include<vector>
 3 //#include<math.h> abs(float)
 4 #include <stdlib.h> //abs(int)
 5 using namespace std;
 6 int main()
 7 {
 8     int n=0,k=0;
 9 int avg;
10
11 while(true)
12 {
13
14 int sum=0,temp=0;//确保循环初值归零
15 bool B=false;
16 cin>>n;
17 if(n==0)
18 break;
19 vector<int> s(n); //s(len)
20 if( n>=1 && n<= 50)
21  {
22  for( int i=0;i<n;i++)
23       {
24
25
26
27  cin>>s[i];
28
29          if(s[i]<1||s[i]>100)
30  {
31  B=true;
32  break;
33
34      }
35  sum+=s[i];
36
37  }
38  if(B)
39  break;
40  if(sum%n==0)
41  {
42  avg=sum/n;
43  for(int i=0;i<n;i++)
44  temp=temp+abs(s[i]-avg);
45  k++;
46  cout<<"Set #"<<k<<endl;
47  cout<<"The minimum number of moves is "<<temp/2<<"."<<endl;
48  cout<<endl;
49 }
50 }
51 else
52 break;
53 }
54
55 return 0;
56 }

//1241

 1 #include<iostream>
 2 #include<iomanip>
 3 #include <math.h>
 4
 5 using namespace std;
 6
 7 int main(){
 8    int a,b,c,temp;
 9 int n=0;
10    while(true)
11    {
12    cin>>a>>b>>c;
13    n++;
14    if(a==0&&b==0&&c==0)
15   break ;
16    else if(a==-1)
17        {cout<<"Triangle #"<<n<<endl;
18     temp=c*c-b*b;
19      if(temp<=0)
20             cout<<"Impossible."<<endl;
21  else
22  cout<<"a = "<<fixed <<setprecision(3)<<sqrt(temp)<<endl;
23  cout<<endl;
24   }
25    else if(b==-1)
26    {
27        cout<<"Triangle #"<<n<<endl;
28     temp=c*c-a*a;
29      if(temp<=0)
30             cout<<"Impossible."<<endl;
31  else
32  cout<<"b = "<<fixed <<setprecision(3)<<sqrt(temp)<<endl;
33  cout<<endl;
34    }
35    else if(c==-1)
36    {
37         cout<<"Triangle #"<<n<<endl;
38 temp=a*a+b*b;
39 cout<<"c = "<<fixed <<setprecision(3)<<sqrt(temp)<<endl;
40  cout<<endl;
41    }
42    }
43    return 0;
44
45 }
46  

//1240

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4 int main()
 5 {
 6 int n=0,m=0;
 7 string s;
 8 char t;
 9  cin>>n;
10 for(int i=1;i<=n;i++)
11     {
12  cin>>s;
13  cout<<"String #"<<i<<endl;
14  for(int j=0;j<s.length();j++)
15  {
16
17  if(s[j]==‘Z‘)
18  {
19     cout<<"A";
20  }
21  else{
22      m=s[j]+1;
23  t=(char)m;
24  cout<<t;
25  }
26  }
27  cout<<endl;
28  cout<<endl;
29 }
30 }

//1216

 1 #include<iostream>
 2 #include<iomanip>
 3 using namespace std;
 4 int main()
 5 {
 6   cout<<"# Cards  Overhang"<<endl;
 7   int a;
 8   double  sum;
 9   while(cin)
10   {
11 sum=0;
12      cin>>a;
13 for(int i=1;i<=a;i++)
14 {
15    sum+=1.0/(2*i);
16 }
17 cout<<"    "<<a<<"     "<<fixed<<setprecision (3)<<sum<<endl;
18 //printf("%5d%10.3f\n",a,sum);
19   }
20   return 0;
21 }

/*用c++编 上传时总是会 报错 ,可能是因为需要判断空格的数量。 这里给出 C的代码:

 1   #include<stdio.h>
 2 int main()
 3 {
 4 int n,i;
 5 double sum;
 6
 7 printf("# Cards  Overhang\n");
 8 while(scanf("%d",&n)!=EOF)
 9 {
10 sum=0.0;
11 for(i=1;i<=n;i++)
12 sum=sum+(1.0/i);
13 printf("%5d%10.3f\n",i-1,0.5*sum);
14 }
15 return 0;
16 }

时间: 2024-10-11 06:44:35

ZOJ水题专业户 ==|| (2)的相关文章

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

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

//2970 1 #include <iostream> 2 #include <string> 3 #include <vector> 4 5 using namespace std; 6 7 bool shout(int num) 8 { 9 if(num%7==0) 10 return true; 11 else 12 { 13 while(num>0) 14 { 15 int a=num%10; 16 if(a==7) 17 return true; 18

ZOJ 3609 Modular Inverse (水题)

Modular Inverse Time Limit: 2 Seconds      Memory Limit: 65536 KB The modular modular multiplicative inverse of an integer a modulo m is an integer x such that a-1≡x (mod m). This is equivalent to ax≡1 (mod m). Input There are multiple test cases. Th

ZOJ 3708 Density of Power Network (水题)

Density of Power Network Time Limit: 2 Seconds      Memory Limit: 65536 KB The vast power system is the most complicated man-made system and the greatest engineering innovation in the 20th century. The following diagram shows a typical 14 bus power s

水题 ZOJ 3875 Lunch Time

题目传送门 1 /* 2 水题:找排序找中间的价格,若有两个,选价格大的: 3 写的是有点搓:) 4 */ 5 #include <cstdio> 6 #include <iostream> 7 #include <algorithm> 8 #include <cmath> 9 #include <cstring> 10 #include <string> 11 #include <map> 12 #include <

水题 ZOJ 3876 May Day Holiday

题目传送门 1 /* 2 水题:已知1928年1月1日是星期日,若是闰年加1,总天数对7取余判断就好了: 3 */ 4 #include <cstdio> 5 #include <iostream> 6 #include <algorithm> 7 #include <cmath> 8 #include <cstring> 9 #include <string> 10 #include <map> 11 #include

2015南阳CCPC L - Huatuo&#39;s Medicine 水题

L - Huatuo's Medicine Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 无 Description Huatuo was a famous doctor. He use identical bottles to carry the medicine. There are different types of medicine. Huatuo put medicines into the bottles and chain these b

sdut 2841 Bit Problem (水题)

题目 贴这个题是因为看题解有更简单的方法, 我做的时候是直接算的, 也很简单. 贴一下题解吧: 如果一个整数不等于 0,那么该整数的二进制表示中至少有一位是 1. 这个题结果可以直接输出 x - (x&(x-1)); 因为x-1 之后二进制下,就是最右边的1变成了0, 最右边的1的 右边所有的0变成了1, 不影响最左边. 我的代码: 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4

sdut 2413:n a^o7 !(第三届山东省省赛原题,水题,字符串处理)

n a^o7 ! Time Limit: 1000MS Memory limit: 65536K 题目描述 All brave and intelligent fighters, next you will step into a distinctive battleground which is full of sweet and happiness. If you want to win the battle, you must do warm-up according to my inst