Jzoj for循环(单重) 部分代码(共42题)

目录

1002: 【入门】编程求解1+2+3+...+n

1020: 【入门】编程求1+3+5+...+n

2291: 编程求解2+4+6+...+n

1021: 【入门】编程求1+1/2+1/3+...+1/n

1054: 【入门】求100+97+……+4+1的值。

1022: 【入门】编程求1平方+2平方+...+n平方

1023: 【入门】编程求1*2*3*...*n

1034: 【入门】求1!+2!+...+N!

1303: 【入门】数列求和

2012: 【入门】求函数值

1649: 【入门】求1/1+1/2+2/3+3/5+5/8+8/13+13/21……的前n项的和

2715: 【入门】数列求和

2721: 【入门】选裙子

2009: 【入门】自由落体

1070: 【入门】咪咪的智慧

1295: 【入门】打折优惠

1025: 【入门】最大值和最小值

1292: 【入门】歌唱比赛评分

2651: 【入门】同因查找

1026: 【入门】求满足条件的整数个数

2090: 【入门】寻找雷劈数

1095: 【入门】一个六位数

1033: 【入门】能被5整除且至少有一位数字是5的所有整数的个数

1031: 【入门】所有不超过1000的数中含有数字3的自然数

//2022年10月3日发现题目变了,于是更新了一份代码

         1062: 【入门】数数小木块

1042: 【入门】求1992个1992的乘积的末两位数是多少

1084: 【入门】鸡兔同笼问题

1066: 【入门】一年中的第几天

1098: 【入门】今天星期几

1207: 【入门】求数II

1262: 【入门】统计个数

1206: 【入门】求数

1291: 【入门】能否构成直角三角形

2775: 【入门】摘李子

1032: 【入门】编程求阿姆斯特朗数

1088: 【入门】那些3位数

1574: 【入门】判奇偶求和

2704: 【基础】猜数字

1304: 【入门】赛车

1580: 【基础】精确计算A/B的值

1037: 【入门】判断素数

1030: 【入门】买小猫小狗


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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ypeijasd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值