结营考核课题。
1.門(mén)牌制作
代碼:
#include <stdio.h> int main() { int num(int aim);int sum=0;for(int i=1;i<=2020;i++)sum=sum+num(i);printf("%d",sum);return 0; } int num(int aim){int i=0;for(i=0;aim!=0;aim=aim/10){ if(aim%10==2)i++;}return i;}答案:624
B.既約分?jǐn)?shù)
#include <iostream> using namespace std; int main() { int sum=0;int gcb(int a, int b);for(int i=1;i<=2020;i++)for(int j=1;j<=2020;j++){if(gcb(i,j)==1)sum++;}cout << sum ;return 0; } int gcb(int a,int b) {if(b==0)return a;elsereturn gcb(b,a%b); }答案:2481215
C:蛇形填數(shù)
#include <iostream> using namespace std; int main() {int array[100][100]={0},status=1,i=1,j=1,next=2,flag=2;array[1][1]=1;while(i<50 && j<50){if(status%2!=0){if(flag==1){j=j+1;array[i][j]=next++;flag=2;}else{if(j>1){i++;j--;array[i][j]=next++;}else{status=2;flag=1;}}}else{if(flag==1){i=i+1;array[i][j]=next++;flag=2;}else{if(i>1){i--;j++;array[i][j]=next++;}else{status=1;flag=1;}}}}cout << array[20][20] << endl;return 0;}答案: 761
D:跑步鍛煉
#include <iostream> using namespace std; int m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; bool check_year(int year) { if(year%4==0 && year%100!=0 || year%400==0)return true;return false; } int main() {int year=2000,month=1,day=1,star=6,num=0,s_num=0;for(year=2000;year<=2020;year++){ month=month%12;for(month=1;month<=12;month++){ if(year==2020 && month==10){ s_num++;break;} if(!check_year(year)|| check_year(year) &&month!=2)for(day=1;day<=m[month];day++){ if(star>7)star=1;if(day==1 || star==1){s_num++;}elsenum++;star++;}else if(month==2 && check_year(year)){ for(day=1;day<=29;day++){ if(star>7)star=1;if(year==2004 && month== 3&& day==29)cout << star << ' ' ;if(day==1 || star==1)s_num++;elsenum++;star++;}}}}cout << num+s_num*2 ;return 0;}答案:8879
E:七段碼
#include <iostream> #include <vector> #include <queue>using namespace std; vector<int> v[8];int color[8]={0,0,0,0,0,0,0,0}; int main() { int sum=0;void init();int bfs();for(color[1]=0;color[1]<=1;color[1]++)for(color[2]=0;color[2]<=1;color[2]++)for(color[3]=0;color[3]<=1;color[3]++)for(color[4]=0;color[4]<=1;color[4]++)for(color[5]=0;color[5]<=1;color[5]++)for(color[6]=0;color[6]<=1;color[6]++)for(color[7]=0;color[7]<=1;color[7]++){init();sum=sum+bfs();}cout << sum ;} int bfs() { int trace[8]={0};for(int i=1;i<=7;i++){if(color[i]==1){queue<int> s;s.push(i);trace[i]=1;while(!s.empty()){int now=s.front();;s.pop();for(int i=0;i<v[now].size();i++){ int next=v[now][i];if(color[next]==1 && trace[next]!=1){s.push(next);trace[next]=1;}}}for(int i=1;i<=7;i++)if(trace[i]!=color[i])return 0;return 1;}}return 0; } void init() {v[1].push_back(2);v[1].push_back(6);v[2].push_back(1);v[2].push_back(7);v[2].push_back(3);v[3].push_back(2);v[3].push_back(4);v[3].push_back(7);v[4].push_back(3);v[4].push_back(5);v[5].push_back(4);v[5].push_back(6);v[5].push_back(7);v[6].push_back(1);v[6].push_back(7);v[6].push_back(5);v[7].push_back(2);v[7].push_back(3);v[7].push_back(5);v[7].push_back(6);}答案:80
F:成績(jī)統(tǒng)計(jì)
#include <iostream> #include <vector> using namespace std; int main() { vector<int> score;int n,pass=0,ex=0;cin >> n;for(int i=0;i<n;i++){int a;cin >> a;if(a>=60)pass++;if(a>=85)ex++;}printf("%.0lf%%\n%.0lf%%\n", (double)(pass)*100/n , (double)(ex)*100/n);return 0;}G:回文日期
#include <iostream> #include <vector> #include <algorithm> using namespace std; int num=0,nowday,nowmonth,nowyear; int m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; bool check_year(int year) { if(year%4==0 && year%100!=0 || year%400==0)return true;return false; }void isright(int year,int month,int day) { if(year==nowyear){if(month<nowmonth)return ;else if(month==nowmonth)if(day<=nowday)return ;}int now=year*10000+month*100+day;vector<int> false1;vector<int> right1;while(now!=0){if(now>=10)right1.push_back(now-(now/10)*10);elseright1.push_back(now);now=now/10; }for(int i=0;i<right1.size();i++)false1.push_back(right1[i]);reverse(right1.begin(),right1.end());for(int i=0;i<right1.size();i++)if(false1[i]!=right1[i])return ;if(num==0){ printf("%d%02d%02d\n",year,month,day);num++;if(right1[0]==right1[2] && right1[1]==right1[3] && right1[3]==right1[4] && right1[2]==right1[5] && right1[4]==right1[6] &&right1[5]==right1[7]){printf("%d%02d%02d\n",year,month,day);num++;}}else{if(right1[0]==right1[2] && right1[1]==right1[3] && right1[3]==right1[4] && right1[2]==right1[5] && right1[4]==right1[6] &&right1[5]==right1[7]){printf("%d%02d%02d\n",year,month,day);num++;}} } int main() {int n,day,month,year,a,b,flag=0;cin >> n;nowyear=n/10000;nowmonth=(n-nowyear*10000)/100;nowday=n-nowyear*10000-nowmonth*100;a=nowmonth;b=nowday;for(year=nowyear;;year++){ for(month=1;month<=12;month++){ if(!check_year(year)|| check_year(year) && month!=2){for(day=1;day<=m[month];day++)isright(year,month,day);if(num==2)return 0;}else if(month==2 && check_year(year)) { for(day=1;day<=29;day++)isright(year,month,day);if(num==2)return 0;}}}return 0; }H:子串分值和
#include <iostream> #include<set> #include<cstring> using namespace std;int subset(int n,string a) { set<char> sub;int sum=0;char temper=a[0];for(int j=0;j<n;j++)for(int i=j;i<n;i++){for(int z=j;z<=i;z++)sub.insert(a[z]);sum+=sub.size();sub.clear();}return sum; } int main() { string w;cin >> w;cout << subset(w.size(),w);return 0; }I:平面劃分
#include <iostream> #include <vector> #include <map> #include <set> using namespace std; set< pair<double,double> > point; set< pair<double,double> > line;int main() { int sum=1;int num(pair<double,double> point);int n;cin >> n;for(int i=0;i<n;i++){int k,b,pre=line.size();cin >> k >> b;pair<double,double> now(k,b);line.insert(now);if(line.size()==pre)continue;else{sum++;sum=sum+num(now);}}cout << sum ;return 0; }int num(pair<double,double> now) {int sum=0;pair<double, double> x_point;for (auto it : line) {double k2,b2;k2=it.first,b2=it.second;double k1,b1;k1=now.first,b1=now.second;if(k2!=k1) {x_point.first=(-(b1-b2))/(k1-k2);x_point.second=x_point.first*k1+b1;point.insert(x_point);}}sum=sum+point.size();point.clear();return sum; }J:字串排序
總結(jié)
- 上一篇: 招投标系统简介 招投标系统源码 java
- 下一篇: DOM-11 【兼容】鼠标行为坐标系、p