编写一个简短的程序,在新行上打印从1到n的每个数字。
- 对于3的每一个倍数,请打印“ 3的倍数”而不是数字。
- 对于5的每一个倍数,请打印“ 5的倍数”而不是数字。
- 对于数字为3和5的倍数,请打印“ 3的倍数。5的倍数”。而不是数字。
例子:
Input : 15
Output : 1
2
Multiple of 3.
4
Multiple of 5.
Multiple of 3.
7
8
Multiple of 3.
Multiple of 5.
11
Multiple of 3.
13
14
Multiple of 3. Multiple of 5.
这个想法是从1迭代到n,并通过将3和5加到当前的倍数来跟踪3和5的倍数。如果当前数字与倍数匹配,我们将相应地更新输出。
C++
// C++ program to print multiples
// of 3 and 5 without using % operator.
#include
using namespace std;
void findMultiples(int n)
{
int a = 3; // To keep track of multiples of 3
int b = 5; // To keep track of multiples of 5
for (int i = 1; i <= n; i++)
{
string s = "";
// Found multiple of 3
if (i == a)
{
a = a + 3; // Update next multiple of 3
s = s + "Multiple of 3. ";
}
// Found multiple of 5
if (i == b)
{
b = b + 5; // Update next multiple of 5
s = s + "Multiple of 5.";
}
if (s == "")
cout << (i) << endl;
else
cout << (s) << endl;
}
}
// Driver Code
int main()
{
findMultiples(20);
return 0;
}
// This code is contributed
// by Sach_Code
Java
// Java program to print multiples of 3 and
// 5 without using % operator.
import java.io.*;
class GFG
{
static void findMultiples(int n)
{
int a = 3; // To keep track of multiples of 3
int b = 5; // To keep track of multiples of 5
for (int i=1; i<=n; i++)
{
String s = "";
// Found multiple of 3
if (i==a)
{
a = a + 3; // Update next multiple of 3
s = s + "Multiple of 3. ";
}
// Found multiple of 5
if (i==b)
{
b = b+5; // Update next multiple of 5
s = s + "Multiple of 5.";
}
if (s == "")
System.out.println(i);
else System.out.println(s);
}
}
public static void main (String[] args)
{
findMultiples(20);
}
}
C#
// C# program to print multiples of 3 and
// 5 without using % operator.
using System;
public class GFG {
static void findMultiples(int n)
{
// To keep track of multiples of 3
int a = 3;
// To keep track of multiples of 5
int b = 5;
for (int i = 1; i <= n; i++)
{
String s = "";
// Found multiple of 3
if (i == a)
{
// Update next multiple of 3
a = a + 3;
s = s + "Multiple of 3. ";
}
// Found multiple of 5
if (i == b)
{
// Update next multiple of 5
b = b + 5;
s = s + "Multiple of 5.";
}
if (s == "")
Console.WriteLine(i);
else
Console.WriteLine(s);
}
}
// Driver code
public static void Main ()
{
findMultiples(20);
}
}
// This code is contributed by Sam007.
PHP
Javascript
输出:
1
2
Multiple of 3.
4
Multiple of 5.
Multiple of 3.
7
8
Multiple of 3.
Multiple of 5.
11
Multiple of 3.
13
14
Multiple of 3. Multiple of 5.
16
17
Multiple of 3.
19
Multiple of 5.