1.
判断闰年方法
year%4==0&&year%400!=0||year%400==0
#include<bits/stdc++.h> using namespace std;int day(int year,int mouth){if(mouth==1||mouth==3||mouth==5||mouth==7||mouth==8||mouth==10||mouth==12){return 31;}else if(mouth==4||mouth==6||mouth==9||mouth==11){return 30;}if(mouth==2){if(year%4==0&&year%100!=0||year%400==0){return 29;}else{return 28;}}
}int main( )
{int y,m,d;int num=0;scanf("%d-%d-%d",&y,&m,&d);for(int i=1;i<m;i++){num=num+day(y,i);}num=num+d;printf("%d",num);return 0;
}
2.
这道题的意思是如数字18是否能被1+8整除,就输出YES
注意:如果需要做运算,变量不要有数字(如n1之类)
#include<bits/stdc++.h> using namespace std;int main( )
{int n,m,f;int num=0;scanf("%d",&n);f=n;while(f){m=f%10;num=num+m;f=f/10;}if(n%num==0){printf("YES");}else{printf("NO");}return 0;
}
3.
首先判断循环条件怎么写:战死四五百人等同于幸存士兵在1000-1100
其次,三人一排多两人等同于幸存士兵除以3余2
最后,题目问的是战死几人,要用总人数-幸存士兵人数
#include<bits/stdc++.h> using namespace std;int main( )
{for(int i=1000;i<1100;i++){if(i%3==2&&i%5==4&&i%7==6){printf("%d",1500-i);}}return 0;
}