输入一个正整数n,求一个最小正整数,使得n*m的各位数字非0即1

来源:百度知道 编辑:UC知道 时间:2024/05/15 23:40:06

int n;
scanf("%d",&n);
int m;
for(m=1;m<=10;m++)
{
if ((n*m)%10<=1)
break;
}
printf("%d",m);

最笨的办法:
让m从1到无限到递增
若n*m%10的余数大于1,m++,继续循环
若n*m%10余数为0或1,则判断,n*m=1?
是:结束,m即为答案
否:继续除10,继续循环.

main()
{
int m=1;
int d=10;
int n,s;
printf("enter n:\n");
scanf("%d",&n);

do
{

if (s % d >1)
{
m++;
s = n*m;
}
else if (s==1) break;
else
{
s=s/d;
}
}while(1);
printf("%d*%d=%d",m,n,m*n);
}

方法二,改进型,速度快了很多,但是unsinged long还是不能够满足需要,以至于9与18还是有问题
#include <stdio.h>

/*Binary to Algorism*/
unsigned long btoa(int b)
{
unsigned long a=0;
int s=1;
do
{
a+=(b%2)*s;

输入一个正整数n,求一个最小正整数,使得n*m的各位数字非0即1 输入一个正整数,各输出n行的正(倒)三角形宝塔图案 如何求一个正整数的最小质数?? 输入一个正整数N,求1+2+3+…+N的和 输入一个正整数n,计算出n!并输出 求教数学高手。求最小正整数n,使得√175n是一个自然数(详解谢谢)。 c语言问题:如何编写一个程序,输入一个正整数N,在屏幕上用‘*’打印以N为边长的正六边形。 c程序设计编程:输入一个正整数,再输入一个N,求从左到右N位的和以及从右到左N位的和 输入一个正整数,求该数的阶乘.询问用户是否愿意继续.提示:n的阶乘公式为:n!=1*2*...*(n-1)*n 求,用(工程1-Microsoft Visual Basic)编一个程序,是(输入两个正整数m,n ,输出其最小公倍数)谢谢