自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 输入一行字符删去其中的重复字符输出

假设输出的字符数量小于100吧,首先创建一个数组arr[100]={0},再创建一个字符型变量a用来接受输入。先scanf a作为arr[0]: scanf_s("%c", &arr[0])。创建一个循环,不断得接收输入的字符知道接收到'\n',此时跳出循环;在每次输入一个数时,将数组前面的字符与输入字符比较,如果有重复则此次输入无效;如果没有重复则取arr[i]=a判断要不要输入可以用flag作判断依据核心代码:for (j = 0;j < i;j++){if (a

2022-10-26 10:59:27 831 2

原创 关于大数加法和乘法运算的取模化简

乘法:比如要求(a*b)%c,这个a*b如果过大要将其分布运算,设a=m*c+x,b=n*c+y,(a*b)%c=(m*n*c*c+m*y*c+x*n*c+x*y)%c=(x*y)%ca%c*b%c=(m*c+x)%c*(n*c+y)%c=x*(n*c+y)%c=(x*n*c+x*y)%c=(x*y)%c所以(a*b)%c等价于a%c*b%c(此运算顺序不可调换,如(a%c)*(b%c)不等价于前两项可推广为(a*b*c......*n)%i=a%i*b%i*c%i......n%i加法

2022-10-16 01:34:05 236

原创 判断两个数是否互为真约数

真约数的定义:一个数除去自身的约数和首先获取n个数的输入scanf("%d %d",&m,&n);判断一个数的约数并将其累加,用循环实现。当输入的数字很大时为了减少循环次数,可以一次将两个乘积为该书的约数一起输入:for(i=1;i<=sqrt(n);i++){ if(i*i=n) sum+=i; else if(n%i==0) sum=sum+i+n/i;}sum的值即为约数和,减去本身得到真约数;分别比较两个s

2022-10-15 16:39:20 772

原创 循环-求一个数各位数字的和

给出一个数 n,求 n 的各位上的数字之和读取一个数a,将a的各个位数分割并累加即可得到求解值int a,sum=0;scanf("%d",&a);//读取一个数a,sum用于累加各个位数核心代码:while(a>0){ sum+=a%10; a=a/10;}每次都提取a的最后一位数加到sum中然后将最后一位数删去;直到位数为0。完整代码:#include<stdio.h>int main(){ int a;

2022-10-15 16:23:39 1237 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除