#include <stdio.h>
int main()
{
int num1, num2, i;
printf("输入两个数,使用空格分隔:");
scanf("%d %d", &num1, &num2);
for (i = 1; i <= (num1 > num2 ? num2 : num1) ; ++i)
{
if (num1%i == 0 && num2%i == 0)
{
printf("%d ", i);
}
}
return 0;
}
1609c-examples-check-armstrong-number
参考方法:
#include<stdio.h>
long long power(long long x,int y)
{
long long sum = 1;
while(y--)
{
sum *= x;
}
return sum;
}
int check_arm(long long n)
{
long long temp,sum = 0,remainder,count = 0;
temp = n;
while(temp*10/10 != 0)
{
temp /= 10;
++count;
}
temp = n;
while(temp*10/10 != 0)
{
sum += power(temp%10,count);
temp /= 10;
}
if(n == sum)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
long long temp,n,result,a,b,i;
int flag;
printf("Please enter a number:\n");
scanf("%lld",&n);
result = check_arm(n);
if(result == 1)
{
printf("Yes, it's an Armstrong number.\n\n");
}
else
{
printf("No, it isn't an Armstrong number.\n\n");
}
printf("Please enter two numbers as an interregional,seperated by a space.\n");
scanf("%lld %lld",&a,&b);
flag = 1;
if(a == b)
{
printf("That is no an valid interregional.\n");
flag = 0;
}
else if(a > b)
{
temp = a;
a = b;
b = temp;
}
if(flag == 1)
{
printf("Armstrong number(s) between %lld and %lld is(are):\n",a,b);
for(i = a;i<=b;i++)
{
if(check_arm(i) == 1)
{
printf("%lld ",i);
}
}
}
return 0;
}
1608c-examples-prime-number
可以考虑用sqrt降低时间复杂度
#include<stdio.h>
#include<math.h>
int issushu(int k);
int main(){
int n,count=0;
scanf("%d",&n);
for(int i=n;i>3;i--)
if(issushu(i))
if(issushu(i-2))
count++;
printf("%d",count);
return 0;
}
int issushu(int k){
for(int i=2;i<sqrt(k)+1;i++){
if(k%i==0)
return 0;
}
return 1;
}
1607c-examples-palindrome-number
参考方法:
#include <stdio.h>
#include<string.h>
int main()
{
int a=12021;
char s[10]={'\0'},s1[10]={'\0'};
sprintf(s,"%d",a); // 将整数转换为字符串
int n=strlen(s);
int j=0;
for(int i=n-1;i>=0;i--)
{
s1[j++]=s[i];
}
//s[j]='\0';
printf("%s %s\n",s,s1);
if(!strcmp(s,s1))
printf("整数%d是回文串",a);
else
printf("整数%d不是回文串",a);
return 0;
}
1606c-examples-power-number
参考方法:
#include<stdio.h>
int main()
{
int i,a,b;
unsigned long c=1;
printf("请输入基数:");
scanf("%d",&a);
printf("请输入指数");
scanf("%d",&b);
for(i=1;i<=b;i++)
{
c *= a;
}
printf("%lu",c);
return 0;
}
1610c-examples-factors-number
寻找两数的所有公因数:
1609c-examples-check-armstrong-number
参考方法:
1608c-examples-prime-number
可以考虑用sqrt降低时间复杂度
1607c-examples-palindrome-number
参考方法:
1606c-examples-power-number
参考方法: