1、求10000000!末尾的0的个数
int main() {
int count=0;
for (int x=5;x<=10000000; x+=5) {
int n=x;
while (n%5==0) {
count++;
n/=5;
}
}printf("%d",count);
}
2、将一个数进行因子分解。
(90=2* 3* 3* 5)
int main() {
int a,i;
scanf("%d",&a);
for(i=2;i<=a;i++){
while(a%i==0){
a/=i;
printf("%d\n",i);
}
}
}
3、求Sn=a+aa+aaa+……+aaaaaaa(n个a)
#include<stdio.h>
int main()
{
int a,n = 0,sum = 0,term=0;
printf("请输入a,n的值\n");
scanf(" %d %d", &a,&n);
for (int i = 1; i <= n; i++)
{
term = term * 10 + a;
sum = term + sum;
}
printf("该式的值为:%d:",sum);
return 0;
}
4、求两个数的“最大公约数”
#include <stdio.h>
int main(){
int a,b,i;
scanf("%d%d",&a,&b);
int min = a>b?b:a;
for (i=min; i>0; i--) {
if(a%i==0&&b%i==0)
break;
}
printf("%d",i);
}
5、求两个数的“最小公倍数”
#include <stdio.h>
int main(){
int a,b,i;
scanf("%d%d",&a,&b);
int max=a>b?b:a;
for(i=max;i>0;i++){
if(i%a==0&&i%b==0)
break;
}
printf("%d",i);
}
6、15=1+2+3+4 ‘ 15=4+5+6 ’ 15=7+8
#include <stdio.h>
int main() {
int N;
scanf("%d",&N);
int count=1,temp;
for(int i = 1;i <= N / 2;i++){
for(int j = i + 1;j < N;j++){
int sum = 0;
for(int k = i;k < j;k++){
sum += k;
}
if(sum == N) {
count++;
printf("[");
temp = i;
while(temp != j){
printf("%d,",temp++);
if(j - temp == 1){
printf("%d]\n",temp++);
}
}
}
}
}
printf("[%d]\n",N);
printf("%d",count);
}
7、求1024的655次方最后三位数
#include <stdio.h>
int main() {
int a=1024;
int n=a%1000;
for(int i=1;i<656;i++){
n=(a*n)%1000;
}
printf("1024的655次方最后三位数是%d\n",n);
}