蓝桥杯签到题
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.