如何在另一个整数前加上整数,比方说7,并为其添加其他数字。例如,如果在7之前添加1,则它变为17.然后找到它的素数。如果在17之前添加3则变为317,依此类推
答案 0 :(得分:4)
找出一个数字需要多大才能适合另一个数字,然后乘以该因子并添加另一个数字:
int n1 = 3;
int n2 = 17;
int x = 1;
while (x <= n2) {
x *= 10;
}
int result = n1 * x + n2; // 317
答案 1 :(得分:2)
让我们说你的号码是7
int myNumber = 7;
你想在它前面添加1;
int toAdd = 1;
你所要做的就是说
myNumber = toAdd * 10 + myNumber;
这意味着:
1 * 10 = 10; 10 + 7 = 17;
上次修改
正如我在评论中所讨论的,我的第一个解决方案只有在您尝试在另一个整数/数字前面添加一个数字时才有效。如果我们尝试在另一个整数前添加一个整数,例如:17和17将失败,因为: 17 * 10 +17 = 170 + 17 = 187,这与1717正确答案不相等
对此的一般解决方案是将10乘以您的数字所具有的数字位数 例如:
如果我想在111前加17,结果应该是17111;
111 has 3 digits -> 10^3 = 1000
比我们将17乘以1000
17000 + 111 =17111
您可以使用while循环检查数字的位数
int digits=0;
while(number >0)
{
number = number/10;
digits++;
}
myNumber = toAdd* 10^digits + myNumber;
答案 2 :(得分:1)
int add = 1;
int before = 7;
string newNumber = string.Format("{0}{1}", add, before);
如果您想再次将int转换为int
,可以使用int.Parse()或int.TryParse()。
答案 3 :(得分:1)
string.Concat(1, 13);
获得一个号码
Convert.ToInt32(string.Concat(1, 13));
答案 4 :(得分:1)
仅使用数学:
int num = 7;
int add = 1;
int newNumber = add * (int)Math.Pow(10, 1 + (int)Math.Log10(num)) + num;
答案 5 :(得分:0)
首先将整数转换为字符串并连接它们。
答案 6 :(得分:0)
试试这个:
static int main(){
int num1 = 7;
int num2 = 1;
int num3 = 3;
string strNum1 = string.Concat(num2.ToString(), num1.ToString());
string strNum2 = string.Concat(num3.ToString(), num2.ToString(), num1.ToString());
int newNumber1 = int.Parse(strNum1);
int newNumber2 = int.Parse(strNum2);
Console.WriteLine(IsPrime(num1)); // True
Console.WriteLine(IsPrime(newNumber1)); // True
Console.WriteLine(IsPrime(newNumber2)); // True
}
/// <summary>
/// Used to determine if number is a prime number
/// </summary>
/// <param name="value">The whole number.</param>
/// <returns></returns>
public static bool IsPrime(int value)
{
if (value == 1)
{
return true;
}
else if ((value & 1) == 0)
{
if (value == 2)
return true;
else
return false;
}
for (int i = 3; (i * i) <= value; i += 2)
{
if ((value % i) == 0)
return false;
}
return value != 1;
}
答案 7 :(得分:0)
int n1=Convert.ToInt32(Console.ReadLine()); //let n1=7
int n2=Convert.ToInt32(Console.ReadLine()); //let n2=1
int result=n2*10+n1; //result=1*10+7=17
现在检查素数
int flag=0;
for(int i=2;i<result;i++)
{
if(result%i==0)
{
flag=1;
}
}
if(flag==0)
{
Console.WriteLine("No. is prime");
}