杭电oj
杭电oj
头发存活率
这个作者很懒,什么都没留下…
展开
-
杭电1164 i又变成1实现循环(不知道是什么算法吗)
//Input:9412//Output:2213*181\n#include<stdio.h>void main(){ int i,n; while(~scanf("%d",&n)){ for(i=2;i<=n;i++){ if(n%i==0){//如果是因数 n/=i;//n除掉因数 printf("%d",i);//把因数put if(n==1) printf("\n");//如果因数被除光了,结束 else p原创 2020-06-28 23:00:20 · 108 阅读 · 0 评论 -
杭电1163数字根问题
数字根(digital root)#include<stdio.h>void main(){ int a,i,n; while(~scanf("%d",&n)&&n){ a=n; for(i=2;i<=n;i++) a=(a*n)%9; if(a==0) printf("9\n"); else printf("%d\n",a);}}总结//一个数字除以9取余 = 这个数字的数字根;//在求多个元素乘积的数字根的过程中,可以用原创 2020-06-28 22:55:55 · 190 阅读 · 0 评论 -
杭电1219 i还可以这样玩
Sample Inputhello, this is my first acm contest!Sample Outputa:1b:0c:2d:0e:2f:1g:0h:2i:3j:0k:0l:2m:2n:1o:2p:0q:0r:1s:4t:4u:0v:0w:0x:0y:1z:0#include<stdio.h>void main(){ char s[100005];//定义一个字符数组用来接收 int i; while(gets(原创 2020-06-28 22:51:44 · 118 阅读 · 0 评论 -
1992 95整除的尾数
#include <stdio.h>void main(){ int m,n; while(~scanf("%d%d",&m,&n)&&m&&n)//“~”按位取反运算符 { int a,b,flag=0; m=m*100; for(a=0;a<=9;a++) for(b=0;b<=9;b++) if((m原创 2020-06-28 22:47:02 · 113 阅读 · 0 评论 -
eps精度求和与自身问题分析
//加到不符合条件的第一项。而不是符合条件的最后一项。//不符合条件的第一项与符合条件的最后一项相邻。方法一#include<stdio.h>#include<math.h>void main(){ int i; double sum=0,eps; scanf("%lf",&eps); for(i=1;1*1.0/(3*i-2)>=eps;i++)//这个for循环判断的是当前项是否符合条件。所以那个不符合条件的一项也没加原创 2020-06-28 22:44:51 · 502 阅读 · 0 评论 -
进制数问题,探究了一下while与for的运用
弄清楚“符合条件的最后一项”和“不符合条件的第一项”#include<stdio.h>void main(){ int i,n,r,a[33]; while(scanf("%d%d",&n,&r)!=EOF){ i=0; if(n<0){ printf("-"); n=-n; } while(n){//=while(n!=0) 等于0时跳出,假设一共C个 a[i]=n%r;//a[0],a[1],a[2],……,a[C-1]原创 2020-06-28 22:41:05 · 159 阅读 · 0 评论 -
判断密码是否安全的水题,几个知识点
#include<stdio.h>#include<ctype.h>//是一个与字符处理有关的头文件,它包含了一系列用于检测和转换单个字符的函数 升级版是include<wctype.h>接下来的函数名字前面也都加上w#include<string.h>void main(){ int n; while(scanf("%d",&n)==1){//等价于scanf(6666)!=EOF char c1=getchar();//找一个字符接原创 2020-06-28 22:39:04 · 1501 阅读 · 0 评论 -
去掉一个最高分去掉一个最低分的nb版本
#include<stdio.h>void main(){ int n; float m,s,a,b,v; while(scanf("%d",&n)!=EOF) { a=0;b=100;s=0;//最小是b,最大是a。 while(n--)//接收n次 { scanf("%f",&m); if(a<=m) a=m; if(b>=m) b=m;//边输入边找出最大最小 输入时的小技巧 s+=m; } v=(s-原创 2020-06-28 22:37:52 · 428 阅读 · 0 评论 -
用scanf读入字符串、单个字符与数字(统计出现次数最多的字符串)
//用scanf读入字符串、单个字符、数字的区别//二位数组的降维读入,十分便捷#include<stdio.h>#include<string.h>void main(){ int n; while(~scanf("%d",&n)&&n){//会在缓冲区留下一个换行符 // getchar();不需要它的原因③ char b[1005][20]; int max=0,maxi,i,j,count; for(i=0;i<n;i+原创 2020-06-28 21:00:12 · 1209 阅读 · 2 评论