目录
1021: 【入门】编程求1+1/2+1/3+...+1/n
1649: 【入门】求1/1+1/2+2/3+3/5+5/8+8/13+13/21……的前n项的和
1033: 【入门】能被5整除且至少有一位数字是5的所有整数的个数
1031: 【入门】所有不超过1000的数中含有数字3的自然数
1042: 【入门】求1992个1992的乘积的末两位数是多少
1002: 【入门】编程求解1+2+3+...+n
#include <bits/stdc++.h>
using namespace std;
int n, sum;
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; ++i){
sum+=i;
}
printf("%d", sum);
return 0;
}
1020: 【入门】编程求1+3+5+...+n
#include <bits/stdc++.h>
using namespace std;
int n, sum;
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i+=2){
sum+=i;
}
printf("%d", sum);
return 0;
}
2291: 编程求解2+4+6+...+n
#include <bits/stdc++.h>
using namespace std;
int n, sum;
int main()
{
scanf("%d", &n);
for(int i=2; i<=n; i+=2){
sum+=i;
}
printf("%d", sum);
return 0;
}
1021: 【入门】编程求1+1/2+1/3+...+1/n
#include <bits/stdc++.h>
using namespace std;
double n, sum;
int main()
{
scanf("%lf", &n);
for(double i=1; i<=n; i++){
sum+=1/i;
}
printf("%.3lf", sum);
return 0;
}
1054: 【入门】求100+97+……+4+1的值。
#include <bits/stdc++.h>
using namespace std;
int sum;
int main()
{
for(int i=1; i<=100; i+=3){
sum+=i;
}
printf("%d", sum);
return 0;
}
1022: 【入门】编程求1平方+2平方+...+n平方
#include <bits/stdc++.h>
using namespace std;
int n, sum;
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++){
sum+=i*i;
}
printf("%d", sum);
return 0;
}
1023: 【入门】编程求1*2*3*...*n
#include <bits/stdc++.h>
using namespace std;
int n, ans=1;
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++){
ans*=i;
}
printf("%d", ans);
return 0;
}
1034: 【入门】求1!+2!+...+N!
#include <bits/stdc++.h>
using namespace std;
int n, sum, ans=1;
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++){
//阶乘需要初始化为1
ans=1;
//ans计算的是i的阶乘
for(int j=1; j<=i; ++j){
ans*=j;
}
sum+=ans;
}
printf("%d", sum);
return 0;
}
1303: 【入门】数列求和
#include <bits/stdc++.h>
using namespace std;
int n, a=1, sum;
int main()
{
scanf("%d", &n);
for(int i=0; i<n; i++){
a=a+i;
sum+=a;
}
printf("%d", sum);
return 0;
}
2012: 【入门】求函数值
#include <bits/stdc++.h>
using namespace std;
double n, x, sum;
int main()
{
scanf("%lf %lf", &n, &x);
for(int i=1; i<=n; i++){
sum=sqrt(i+x);
x=sum;
}
printf("%.3lf", sum);
return 0;
}
1649: 【入门】求1/1+1/2+2/3+3/5+5/8+8/13+13/21……的前n项的和
#include <bits/stdc++.h>
using namespace std;
int n;
double fenzi=1, fenmu=1, sum, temp;
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++){
sum+=fenzi/fenmu;
temp=fenzi;
fenzi=fenmu;
fenmu=fenmu+temp;
}
printf("%.3lf", sum);
return 0;
}
2715: 【入门】数列求和
#include <bits/stdc++.h>
using namespace std;
int n;
int a, b, c, d, dif, sum, cnt;
int main()
{
scanf("%d %d %d %d", &a, &b, &c, &d);
dif=b-a;
for(int i=a; i!=d; i+=dif){
cnt++;
if(i!=d && cnt<=3){
if(i<0){
printf("(");
}
printf("%d", i);
if(i<0){
printf(")");
}
printf("+");
}
sum+=i;
}
sum+=d;
if(cnt>3){
printf("...+");
}
if(d<0){
printf("(%d)", d);
}
else{
printf("%d", d);
}
printf("=%d", sum);
return 0;
}
2721: 【入门】选裙子
#include <bits/stdc++.h>
using namespace std;
int n, x, sum, ans;
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; ++i){
scanf("%d", &x);
sum+=x;
}
ans=sum%n;
if(ans==0){
ans=n;
}
printf("%d", ans);
return 0;
}
2009: 【入门】自由落体
#include <bits/stdc++.h>
using namespace std;
int n;
double m, h, sum;
int main()
{
scanf("%lf %d", &m, &n);
h=m/pow(2, n);
sum=m;
for(int i=2; i<=n; ++i){
sum+=m;
m/=2;
}
printf("%.2lf %.2lf", h, sum);
return 0;
}
1070: 【入门】咪咪的智慧
#include <bits/stdc++.h>
using namespace std;
int n, t, x, ans;
int main()
{
scanf("%d %d", &n, &t);
for(int i=1; i<=n; ++i){
scanf("%d", &x);
if(x<t){ //注意是小于
ans++;
}
}
printf("%d", ans);
return 0;
}
1295: 【入门】打折优惠
#include <bits/stdc++.h>
using namespace std;
int n;
double x, sum;
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; ++i){
scanf("%lf", &x);
sum+=x;
}
if(sum>100){
sum-=100;
sum*=0.9;
sum+=100;
}
printf("%.2lf", sum);
return 0;
}
1025: 【入门】最大值和最小值
#include <bits/stdc++.h>
using namespace std;
int n, x, mx, mn=32767;
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; ++i){
scanf("%d", &x);
mx=max(mx, x);
mn=min(mn, x);
}
printf("%d %d", mx, mn);
return 0;
}
1292: 【入门】歌唱比赛评分
#include <bits/stdc++.h>
using namespace std;
int n;
double x, sum, mx, mn=10, asd;
int main()
{
scanf("%d", &n); //评委数
for(int i=1; i<=n; ++i){
scanf("%lf", &x);
sum+=x;
//找最高分
if(x>mx){
mx=x;
}
//找最低分
if(x<mn){
mn=x;
}
}
asd=(sum-mx-mn)/(n-2);
printf("%.2lf", asd);
return 0;
}
2651: 【入门】同因查找
#include <bits/stdc++.h>
using namespace std;
int main()
{
for(int i=10; i<=1000; ++i){
if(i%42==0){
printf("%d\n", i);
}
}
return 0;
}
1026: 【入门】求满足条件的整数个数
#include <bits/stdc++.h>
using namespace std;
int n, ans;
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; ++i){
if(i%3==2 && i%5==3 && i%7==2){
ans++;
}
}
printf("%d", ans);
return 0;
}
2090: 【入门】寻找雷劈数
#include <bits/stdc++.h>
using namespace std;
int a, b;
int main()
{
for(int i=1000; i<=9999; ++i){
a=i%100;
b=i/100;
if((a+b)*(a+b)==i){
printf("%d\n", i);
}
}
return 0;
}
1095: 【入门】一个六位数
#include <bits/stdc++.h>
using namespace std;
int a;
int main()
{
for(int i=100000; i<=999999; ++i){
if(i%10!=7){
continue;
}
a=i%10*100000+i/10;
if(a==4*i){
printf("%d", i);
}
}
return 0;
}
1033: 【入门】能被5整除且至少有一位数字是5的所有整数的个数
#include <bits/stdc++.h>
using namespace std;
int n, temp, ans;
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; ++i){
if(i%5!=0){
continue;
}
temp=i;
while(temp){
if(temp%10==5){
ans++;
break;
}
temp/=10;
}
}
printf("%d", ans);
return 0;
}
1031: 【入门】所有不超过1000的数中含有数字3的自然数
#include <bits/stdc++.h>
using namespace std;
int temp, ans;
int main()
{
for(int i=3; i<=1000; ++i){
temp=i;
while(temp){
if(temp%10==3){
ans++;
break;
}
temp/=10;
}
}
printf("%d", ans);
return 0;
}
//2022年10月3日发现题目变了,于是更新了一份代码
//2022年10月3日发现题目变了,于是更新了一份代码
#include <bits/stdc++.h>
using namespace std;
int n, ans;
bool include_three(int x)
{
while(x){
if(x%10==3){
return true;
}
x/=10;
}
return false;
}
int main()
{
cin >> n;
for(int i=0; i<=n; ++i){
if(include_three(i)){
ans++;
}
}
cout << ans;
return 0;
}
1062: 【入门】数数小木块
// 1
// 1+2
// 3+3
// 6+4
#include <bits/stdc++.h>
using namespace std;
int n, x, ans;
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; ++i){
x=x+i;
ans+=x;
}
printf("%d", ans);
return 0;
}
1042: 【入门】求1992个1992的乘积的末两位数是多少
#include <bits/stdc++.h>
using namespace std;
int ans=1;
int main()
{
for(int i=1; i<=1992; ++i){
ans*=92;
if(ans>=100){
ans%=100;
}
}
printf("%d", ans%100);
return 0;
}
1084: 【入门】鸡兔同笼问题
方法一:数学思维
#include <bits/stdc++.h>
using namespace std;
int chicken, rabbit;
int main()
{
rabbit=(160-2*50)/2;
chicken=50-rabbit;
printf("%d %d", chicken, rabbit);
return 0;
}
方法二:枚举思维
#include <bits/stdc++.h>
using namespace std;
int main()
{
for(int i=1; i<=50; ++i){ //i表示鸡的数量
if(2*i+4*(50-i)==160){
printf("%d %d", i, 50-i);
}
}
return 0;
}
1066: 【入门】一年中的第几天
#include <bits/stdc++.h>
using namespace std;
int year, month, day, ans;
int main()
{
scanf("%d-%d-%d", &year, &month, &day);
for(int i=1; i<month; ++i){ //枚举月份
if(i==1 || i==3 || i==5 || i==7 || i==8 || i==10){
ans+=31;
}
else if(i==4 || i==6 || i==9 || i==11){
ans+=30;
}
else if(i==2){ //2月特殊处理
//闰年
if(year%4==0 && year%100!=0 || year%400==0){
ans+=29;
}
else{ //不是闰年
ans+=28;
}
}
}
ans+=day; //把本月天数加上
printf("%d", ans);
return 0;
}
1098: 【入门】今天星期几
#include <bits/stdc++.h>
using namespace std;
int year, month, day, sum, ans;
int main()
{
scanf("%d %d %d", &year, &month, &day);
//把year之前的整年的天数加上
for(int i=1980; i<year; ++i){
if(i%4==0 && i%100!=0 || i%400==0){
sum+=366;
}
else{
sum+=365;
}
}
for(int i=1; i<month; ++i){ //枚举月份
if(i==1 || i==3 || i==5 || i==7 || i==8 || i==10){
sum+=31;
}
else if(i==4 || i==6 || i==9 || i==11){
sum+=30;
}
else if(i==2){ //2月特殊处理
//闰年
if(year%4==0 && year%100!=0 || year%400==0){
sum+=29;
}
else{ //不是闰年
sum+=28;
}
}
}
sum+=day; //把本月天数加上
ans=sum%7+1; //1980.1.1前一天是星期一
printf("%d", ans);
return 0;
}
1207: 【入门】求数II
#include <bits/stdc++.h>
using namespace std;
int main()
{
for(int i=1; i<=500; ++i){
if(i%3==2 && i%5==3 && i%7==2){
printf("%d\n", i);
}
}
return 0;
}
1262: 【入门】统计个数
#include <bits/stdc++.h>
using namespace std;
int x, ans1, ans2, ans3;
int main()
{
for(int i=1; i<=20; ++i){
scanf("%d", &x);
if(x>0){
ans1++;
}
else if(x==0){
ans2++;
}
else{
ans3++;
}
}
printf("%d %d %d", ans1, ans2, ans3);
return 0;
}
1206: 【入门】求数
#include <bits/stdc++.h>
using namespace std;
int temp, a, b, c;
int main()
{
for(int i=1; i<=999; ++i){
if(i%3!=0){
continue;
}
temp=i;
a=temp%10;
temp/=10;
b=temp%10;
c=temp/10;
if(a==5 || b==5 || c==5){
printf("%d\n", i);
}
}
return 0;
}
1291: 【入门】能否构成直角三角形
#include <bits/stdc++.h>
using namespace std;
double a, b, c, s;
int main()
{
scanf("%lf %lf %lf", &a, &b, &c);
if(a*a+b*b==c*c){
s=a*b/2;
}
else if(a*a+c*c==b*b){
s=a*c/2;
}
else if(b*b+c*c==a*a){
s=b*c/2;
}
if(s){
printf("%.1lf", s);
}
else{
printf("No");
}
return 0;
}
2775: 【入门】摘李子
#include <bits/stdc++.h>
using namespace std;
int n, x, sum, ans1, ans2;
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; ++i){
scanf("%d", &x);
sum+=x;
}
ans1=sum/n;
ans2=sum%n;
if(ans2<ans1){
ans2+=n;
ans1--;
}
printf("%d\n%d", ans1, ans2);
return 0;
}
1032: 【入门】编程求阿姆斯特朗数
#include <bits/stdc++.h>
using namespace std;
int n, temp, a, b, c, ans;
int main()
{
scanf("%d", &n);
for(int i=100; i<=n; ++i){
temp=i;
a=temp%10;
temp/=10;
b=temp%10;
c=temp/10;
if(a*a*a+b*b*b+c*c*c==i){
ans++;
}
}
printf("%d", ans);
return 0;
}
1088: 【入门】那些3位数
#include <bits/stdc++.h>
using namespace std;
int main()
{
for(int i=1; i<=3; ++i){
for(int j=1; j<=3; ++j){
for(int k=1; k<=3; ++k){
printf("%d%d%d\n", i, j, k);
}
}
}
return 0;
}
1574: 【入门】判奇偶求和
#include <bits/stdc++.h>
using namespace std;
int n, sum;
int main()
{
scanf("%d", &n);
if(n%2==1){ //奇数
for(int i=2; i<=n; i+=2){
sum+=i;
}
}
else{ //偶数
for(int i=1; i<=n; ++i){
if(n%i==0){
sum+=i;
}
}
}
printf("%d", sum);
return 0;
}
2704: 【基础】猜数字
#include <bits/stdc++.h>
using namespace std;
int asd, b;
char bai, shi, c;
int main()
{
scanf("%c%c%c", &bai, &shi, &c);
scanf("%d", &b);
//将十位和百位加起来
asd=(bai-'0')*100+(shi-'0')*10;
//枚举个位
for(int i=0; i<=9; ++i){
if((asd+i)%b==0){
printf("%d\n", i);
}
}
return 0;
}
1304: 【入门】赛车
#include <bits/stdc++.h>
using namespace std;
int n, ans1, ans2;
double v1, v2;
long long l, w;
int main()
{
scanf("%d %lld %lld", &n, &l, &w);
while(n--){
scanf("%lf %lf", &v1, &v2);
if(l/v1<=(l-w)/v2){
ans1++;
}
else{
ans2++;
}
}
printf("%d\n%d\n", ans1, ans2);
if(ans1>ans2){
printf("LEO");
}
else{
printf("MARS");
}
return 0;
}
1580: 【基础】精确计算A/B的值
#include <bits/stdc++.h>
using namespace std;
int n, a, b, c;
int main()
{
scanf("%d %d %d", &a, &b, &n);
//输出整数部分
printf("%d.", a/b);
//c为余数
c=a%b;
for(int i=1; i<=n; ++i){
//第i次循环计算小数点后i位
c*=10; //将余数放大十倍
//计算小数点后第i位
printf("%d", c/b);
//保留余数
c=c%b;
}
return 0;
}
1037: 【入门】判断素数
#include <bits/stdc++.h>
using namespace std;
int n;
int main()
{
scanf("%d", &n);
if(n<=1){
printf("F");
}
else{
for(int i=2; i<=sqrt(n); ++i){
if(n%i==0){
printf("F");
return 0;
}
}
printf("T");
}
return 0;
}
1030: 【入门】买小猫小狗
#include <bits/stdc++.h>
using namespace std;
int x, a, b, ans;
int main()
{
scanf("%d %d %d", &x, &a, &b);
for(int i=1; i<=(x-b)/a; ++i){
if((x-i*a)%b==0 && (x-i*a)){
ans++;
}
}
printf("%d", ans);
return 0;
}