蓝桥杯签到题

1.缩位求和

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
  int sum=10;
  string a;
  cin>>a;
  int s=0;
  while(sum>=10){
    for(int i=0;i<a.size();i++){
      s+=a[i]-'0';//从字符串转化4成整数不能用(int)强制转换,因为这样子得到的实际上是他的ASCLL码值
    }
    if(s<10){
      cout<<s;
      return 0;
    }
    else {
      string k;
      while(s){
        k+=s%10+'0';
        s/=10;
      }
      a=k;
    }
  }
  return 0;
}

2.阶乘求和

#include <iostream>
using namespace std;
int main()
{
  // 请在此输入您的代码
  long long int sum=0;
  long long int jiech=1;
  for(long long int i=1;i<=100;++i){
    if(jiech%1000000000==0){//后九位都为0则跳出循环不需要再取余相加
      break;//因为根据规律,随着阶乘数字越来越大,后面会出现越来越多的数字0,当他出现了9个零的时候就可以停止运算了,因为题目只要求了最后的九个数字
    }
    jiech %= 1000000000;
    jiech = jiech*i;
    
    sum+=jiech;
  }
  
  cout<<sum%1000000000<<endl;
  
  return 0;
}

3.空间

#include <iostream>
using namespace std;
int main()
{
  
  cout<<(long long )256*1024*1024*8/32;//1mb=1024kb;1kb=1024byte 1byte=8bits
  return 0;
}

4.ACL(其实就是ASCLL码)

#include <iostream>
using namespace std;
int main()
{
  char a='L';
  cout<<(int)(a);
  return 0;
}

5.进制转换

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
  cout<<2+2*9+2*9*9*9;
  return 0;
}

6.握手问题

#include <bits/stdc++.h>
using namespace std;
int main(){
  int sum=0;
  for(int i=1;i<=50;i++){
    for(int g=i+1;g<=50;g++){
      if(i<=7&&g<=7)continue;
      sum++;
    }
  }
  cout<<sum;
  return 0;
}

7.排列字母

#include <bits/stdc++.h>
using namespace std;
int main()
{
  string a;
  a="WHERETHEREISAWILLTHEREISAWAY";
  for(int i=0;i<a.size();i++){
  	for(int g=i+1;g<a.size();g++){
  		if((int)a[i]>(int)a[g]){
  			char z=a[i];
  			a[i]=a[g];
  			a[g]=z;
		  }
	  }
  }
  cout<<a;
  return 0;
}

8.

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务