华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: admin
打印 上一主题 下一主题

基础循环训练题

[复制链接]

5

主题

42

帖子

182

积分

注册会员

Rank: 2

积分
182
11#
发表于 2018-7-16 22:57:44 | 只看该作者
最大公因数(辗转相除法)
  1. #include<iostream>
  2. using namespace std;
  3. int a,b,s;
  4. int main()
  5. {
  6.     cin>>a>>b;
  7.     s=a%b;
  8.     while(s!=0)
  9.     {
  10.         a=b;
  11.         b=s;
  12.         s=a%b;
  13.     }
  14.     cout<<b;
  15.     return 0;
  16. }
复制代码
回复 支持 反对

使用道具 举报

5

主题

42

帖子

182

积分

注册会员

Rank: 2

积分
182
12#
发表于 2018-7-18 23:16:24 | 只看该作者
水仙花数:way1 与 way2
  1. #include<iostream>
  2. using namespace std;
  3. int a,b,c,n;
  4. int main()
  5. {
  6.     cout<<"======way 1======"<<endl;
  7.     for(n=100; n<=999; n++)
  8.     {
  9.         a=n/100%10;
  10.         b=n/10%10;
  11.         c=n/1%10;
  12.         if(a*a*a+b*b*b+c*c*c==n)
  13.             cout<<n<<" ";
  14.     }
  15.     cout<<endl<<"======way2======"<<endl;
  16.     int abc;
  17.     for(a=1; a<=9; a++)
  18.         for(b=0; b<=9; b++)
  19.             for(c=0; c<=9; c++)
  20.                 if(a*a*a+b*b*b+c*c*c==a*100+b*10+c)
  21.                     cout<<a<<b<<c<<" ";
  22. }
复制代码
回复 支持 反对

使用道具 举报

5

主题

42

帖子

182

积分

注册会员

Rank: 2

积分
182
13#
发表于 2018-7-22 22:47:54 | 只看该作者
100!末尾一共有几个“0”?
  1. #include<iostream>
  2. using namespace std;
  3. int s,i,a;
  4. int main()
  5. {
  6.    while(a<100)
  7.    {
  8.      if(a%5==0 && a%25!=0) s=s+1;
  9.      {
  10.          if(a%25==0 && a%125!=0) s=s+2;
  11.      }
  12.      a++;
  13.    }
  14.    cout<<s;
  15.     return 0;
  16. }

复制代码
回复 支持 反对

使用道具 举报

738

主题

1485

帖子

5422

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5422
14#
 楼主| 发表于 2018-7-24 19:41:05 | 只看该作者
  1. #include <iostream>
  2. using namespace std;
  3. int a,b,c,i,s;
  4. int main()
  5. {
  6.     cout<<"\n=========T13=======\n";
  7.     a=b=1;
  8.     for (i=3; i<=10; i++)
  9.     {
  10.         c=a+b;
  11.         cout<<c<<' ';
  12.         a=b;
  13.         b=c;
  14.     }
  15.     cout<<"\n=========T14=======\n";
  16.     a=-1;
  17.     for (i=1; i<=10; i++)
  18.     {
  19.         a=a*(-1);
  20.         s=a*i;
  21.         cout<<s<<' ';
  22.     }
  23.     cout<<"\n=========T15=======\n";
  24.     for (char ch='A'; ch<='Z'; ch++) cout<<ch<<' ';
  25. }

复制代码
回复 支持 反对

使用道具 举报

738

主题

1485

帖子

5422

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5422
15#
 楼主| 发表于 2018-7-24 19:46:05 | 只看该作者
判断位数
  1. #include <iostream>
  2. using namespace std;
  3. int a,b,c,i,x;
  4. int main()
  5. {
  6.     cin>>x;
  7.     k=0;
  8.     while (x>0)
  9.     {
  10.         x=x/10;
  11.         k++;
  12.     }
  13.     cout<<k;
  14.     return 0;
  15. }

复制代码
回复 支持 反对

使用道具 举报

738

主题

1485

帖子

5422

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5422
16#
 楼主| 发表于 2018-7-24 19:59:25 | 只看该作者
数字颠倒,123变成321
  1. #include <iostream>
  2. using namespace std;
  3. int x,y,k;
  4. int main()
  5. {
  6.     cin>>x;y=0;
  7.     while (x>0)
  8.     {
  9.         k=x%10;  ///砍下屁股
  10.         x=x/10;  ///留下的一截
  11.         y=y*10+k; ///加在y的屁股后面
  12.     }
  13.     cout<<y;
  14.     return 0;
  15. }
复制代码
回复 支持 反对

使用道具 举报

738

主题

1485

帖子

5422

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5422
17#
 楼主| 发表于 2018-7-24 20:26:22 | 只看该作者
质数判断
  1. #include <iostream>
  2. using namespace std;
  3. int x,i;
  4. bool b;
  5. int main()
  6. {
  7.     cin>>x;
  8.     i=2;///从2开始
  9.     b=1; ///假设是质数
  10.     while (i*i<=x && b)   ///平方根 和 尚未确定 2个条件
  11.         if (x%i==0) b=0;  ///确定不是质数
  12.         else i++;  ///试下一个
  13.     cout<<b;
  14.     return 0;
  15. }

复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-12-26 01:57 , Processed in 0.899315 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表