可达鸭2023暑期打卡题解(CSP-X)

可达鸭【2023暑期编码之星打卡活动】CSP-X

求完数

完数:如果一个数等于不含它本身的其他因子之和,则称该数为‘完数’。如6的因子有1,2,3,6,且1+2+3= 6,因此6是完数。

题目描述:

输入一个正整数N(0 < N < 10000),输出小于N的所有完数及小于N的完数个数,个数前加 ‘*’ 。

输入:

输入一个正整数N(0 < N < 10000)

输出:

输出小于N的所有完数及小于N的完数个数。

样例:

//input
100
//output
6
28
*2

解题思路:

因为题目中规定NNN小于10000,可以打出一个极其简单,人尽皆知的完全数表6,28,496,81286,28,496,81286284968128
然后就可以计数输出了。

AC代码

#include<bits/stdc++.h>
using namespace std;
int a[4]={
   
   6,28,496,8128};
int sum=0;
int main()
{
   
   
	int N;
	cin>>N;
	for(int i=0;i<=3;i++)
	{
   
   
		if(a[i]<N)
		{
   
   
			cout<<a[i]<<endl;
			sum++;
		}
	}
	cout<<'*'<<sum<<endl;
	return 0;
}

字符串操作

题目描述:

有一个字符串,需要你完成以下几个操作:

1.删除所有元音字母
2.每个非元音字母前面加一个点
3.所有非元音大写字母转成小写字母

元音字母包含:A E I O U Y。

输入描述:

输入为只包含字母的字符串。字符串长度不超过100000。

输出描述:

输出经过处理后的字符串。

样例:

//input
aououR
//output
.r
//input
yeiouAEIOU
//output

//这组输出不包含任何字符

解题思路:

先将字符串输入,然后找既不是大写元音字母也不是小写元音字母(即大小写辅音字母),然后如果当前字符是大写就用+32+32+32的方法转成小写。
进行printf()printf()printf()输出,在每个字符前加一个点。

AC代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
   
	char a[100005];
	int i=0;
	scanf("%s",a);
	while(a[i])
	{
   
   
		if(!(a[i]=='A'||a[i]=='E'||a[i]=='I'||a[i]=='O'||a[i]=='U'||a[i]=='Y'||a[i]=='a'||a[i]=='e'||a[i]=='i'||a[i]=='o'||a[i]=='u'||a[i]=='y'))
		{
   
   
			if(a[i]<='Z'&&a[i]>='A')
			{
   
   
				printf(".%c",a[i]+32);
			}
			else printf(".%c",a[i]);
		}
		i++;
	}
	return 0;
}

求素数(个位数为7)

题目描述

给出一个正整数N,计算出7到N之间个位数为7的素数有多少个。
例如:7到20之间的素数有7、11、13、17、19,其中个位为7的有2个,分别为7和17。

输入描述

输入一个正整数N(10<N<9999)N(10 < N < 9999)N(10<N<9999)

输出描述

输出7到NNN(包含7和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值