1.奇虎360 9.15
1.因数分解
#include<stdio.h> #include<stdlib.h> #include<string.h> int Num=1000; int zhishu[1000]; int calculateZhishu(){ // zhishu=(int*)malloc(sizeof(int)*Num); Num=1; zhishu[0]=2; for(int i=3;i<1000;i++){ bool flag=true; for(int j=0;j<Num;j++){ if(i%zhishu[j]==0){ flag=false; break; } } if(flag){ zhishu[Num]=i; Num++; } } } void testzhishu(){ calculateZhishu(); for(int i=0;i<20;i++) { printf("%d\n",zhishu[i]); } } int dictv1[10]={1,0,1,1,0,1,1,1,1,1}; int dictv2[10]={0,0,1,1,0,1,1,0,1,1}; int dictv3[10]={1,0,1,1,0,1,1,0,1,1}; int dicth1[20]={1,1,0,1,0,1,0,1,1,1, 1,0,1,0,0,1,1,1,1,1}; int dicth2[20]={1,1,0,1,1,0,0,1,0,1, 0,1,1,1,0,1,1,1,0,1}; int yinshu[20]; int ysNum[20]; int ysTotal=0; char str[32]; char temp[32]; void fenjie(int number){ for(int i=0;i<20;i++){ yinshu[i]=0; ysNum[i]=0; } strset(str,0); int count=0; ysTotal=0; for(int i=0;i<Num;i++){ count=0; while(number%zhishu[i]==0){ number=number/zhishu[i]; //ysNum++; count++; sprintf(temp,"%d*",zhishu[i]); strcat(str,temp); } /*if(count>0){ ysTotal++; yinshu[ysTotal-1]=zhishu[i]; ysNum[ysTotal-1]=count; sprintf(temp,"%d*",zhishu[i]); strcat(str,temp); }*/ } str[strlen(str)-1]=0; } void ppprint(int number,int level){ int *dict; switch(level) { case 0: dict=dictv1; } int len=1; int nn=number; while(nn/10>=1){ len++; nn=nn/10; } } void show(){ // int level=0; for(int level=0;level<5;level++){ for(int i=0;i<strlen(str);i++) { char c=str[i]; //printf("%c %d\n",c,c-'0'); if(c>='0'&&c<='9'){ switch(level){ case 0: printf(" "); if(dictv1[c-'0'])printf("-"); else printf(" "); printf(" "); break; case 1: if(dicth1[2*(c-'0')])printf("|"); else{ printf(" "); } printf(" "); if(dicth1[2*(c-'0')+1])printf("|"); else{ printf(" "); } break; case 2: printf(" "); if(dictv2[c-'0'])printf("-"); else printf(" "); printf(" "); break; case 3: if(dicth2[2*(c-'0')])printf("|"); else{ printf(" "); } printf(" "); if(dicth2[2*(c-'0')+1])printf("|"); else{ printf(" "); } break; case 4: printf(" "); if(dictv3[c-'0'])printf("-"); else printf(" "); printf(" "); break; } } else{ if(level==2){ printf(" * "); }else { printf(" "); } } } printf("\n"); } } int main(){ calculateZhishu(); int N; //testzhishu(); while(scanf("%d",&N)!=EOF){ fenjie(N); printf("%s\n",str); //printf("%s %d\n",str,strlen(str)); show(); } }
1.字符去除重复并排序
import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner cin = new Scanner(System.in); String str; str=cin.next(); int flags[]=new int[256]; for (int i=0;i<str.length();i++){ char c=str.charAt(i); flags[c]=1; } for(int i=0;i<256;i++){ if(flags[i]==1){ char c=(char) i; System.out.print(c); } } System.out.println(); } }
import java.util.Scanner; public class Main2 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner cin = new Scanner(System.in); String str; str=cin.next(); boolean end=false; int days[]={31,28,31,30,31,30,31,31,30,31,30,31}; while(!(str.length()==1&&Integer.parseInt(str)==0)){ int len=str.length(); end=false; if(len!=18){ System.out.println(1); end=true; str=cin.next(); continue; } else{ for(int i=0;i<17;i++){ char c=str.charAt(i); if(c>='0'&&c<='9'){ continue; } else { System.out.println(2); end=true; break; } } if(end){ str=cin.next(); continue; } else{ char c=str.charAt(17); if(!(c=='x'||c>='0'&&c<='9')){ System.out.println(3); end=true; str=cin.next(); continue; } } /ech year String yearStr=str.substring(6,10); int year=Integer.parseInt(yearStr); if(year>2100||year<1900){ System.out.println(4); str=cin.next(); continue; } /eck month String monthStr=str.substring(10,12); int month=Integer.parseInt(monthStr); if(month>12||month<1){ System.out.println(5); str=cin.next(); continue; } /ech days String dayStr=str.substring(12,14); int day=Integer.parseInt(dayStr); boolean special=false; if(year%400==0||year%4==0&&year%100!=0){ special=true; } if(month==2){ if(special){ if(day!=29){ System.out.println(6); str=cin.next(); continue; } }else{ if(day!=days[month-1]){ System.out.println(6); str=cin.next(); continue; } } }else{ if(day>=days[month-1]||day<=0){ System.out.println(6); str=cin.next(); continue; } } } System.out.println(0); end=true; str=cin.next(); continue; } } }
import java.util.Scanner; public class Main3 { public static String getLowbits(int num,int len){ String str=""; for (int i=0;i<len;i++){ int bit=((num>>i)&1); char cbit=(char) ('0'+bit); str=cbit+str; } //System.out.println(str); return str; } public static int bitsToInt(String str){ int value=0; for(int i=0;i<str.length();i++){ int bit=str.charAt(i)-'0'; value=value+(int) (bit*Math.pow(2, str.length()-1-i)); /alue=value+(int) (bit*Math.pow(2, i)); } //System.out.println(str+" "+value); return value; } public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner = new Scanner(System.in); String str; //str=scanner.next(); int a,b,c; String sa,sb,sc; String dict="23456789ABCDEFGHJKLMNPQRSTUVWXYZ"; a=scanner.nextInt(); b=scanner.nextInt(); c=scanner.nextInt(); sa=getLowbits(a,16); sb=getLowbits(b,16); sc=getLowbits(c,16); String loopstr=sa+sb+sc; //System.out.println(loopstr); int len=48; int index=0; String temp=""; String res=""; for(int i=0;i<5*14;i++){ index=i%48; temp=loopstr.charAt(47-index)+temp; if(temp.length()==5){ int dictInd=bitsToInt(temp); res=res+dict.charAt(dictInd); temp=""; } else{ } } /eck code int sum=0; for (int i=0;i<14;i++){ sum=sum+(int)res.charAt(i); } String checkstr=getLowbits(sum,10); int index1=bitsToInt(checkstr.substring(0, 5)); int index2=bitsToInt(checkstr.substring(5, 10)); //System.out.println(index1); //System.out.println(index2); res=res+dict.charAt(index2); res=res+dict.charAt(index1); String result=""; result=result+res.substring(0, 4)+"-"+res.substring(4,8)+"-"+res.substring(8,12)+"-"+res.substring(12,16); System.out.println(result); } }