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;
}